Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[QT] dodawanie grupy buttons do GUI w trakcie wykonywania programu

Ostatnio zmodyfikowano 2014-03-08 11:23
Autor Wiadomość
tookie009
Temat założony przez niniejszego użytkownika
[QT] dodawanie grupy buttons do GUI w trakcie wykonywania programu
» 2014-03-08 11:23:20
czesc, od paru dni probuje dodac do mojego GUI pare przyciskow podczas startu programu. Ogolem to juz mnie to tak daleko denerwowalo, ze zrobilem sobie nowy projekt, na ktorym tylko cwiczylem dodawanie przyciskow. Odkrylem, ze w nowym projekcie mam dla QVLayout funkcje add(), z ktorej bym chetnie korzystal w starym oryginalnym projekcie, lecz z niewiadomoge mi powodu jest tam niedostepna. Qt wersja jest na obydwu projektach ta sama. Doprawdy nie mam pojecia, czemu w jednym projekcie klasa ma o jedna funkcje wiecej. Headers sa takze te same wykorzystywane. Ale coz skoro nie idzie tak, to probuje na inny sposob. Wlasciwie to juz jestem blisko mojego celu (albo mi sie tak wydaje). Chcialbym teraz w czasie trwania programu utworzyc tablice przyciskow. Moze wstawie kod, zeby lepeij to zobrazowac:

C/C++
QVBoxLayout * mainLayout = new QVBoxLayout;
mainLayout = ui.aaa;
QRadioButton * aq = new QRadioButton( "PROBE" );
mainLayout->addWidget( aq ); // tu sie elegegancko dodaje, bez zadnego bledu
QRadioButton * www = new QRadioButton[ 3 ];
//www[0]=new QRadioButton();
www[ 0 ].setText( "FDS" );
mainLayout->addWidget( www[ 0 ] ); // tu dostaje blad

tresc bledu ktory dostaje:
error C2664: 'QLayout::add': Konvertierung des Parameters 1 von 'QRadioButton' in 'QWidget *' nicht möglich
na polski: zamiana parametru 1 'QRadioButton' na 'QWidget *' nie mozliwa.

Ale przeciez wyzej button aq jest tym samym i wszystko ladnie funkcjonuje. Gdzie robie blad? Fajnie by bylo tez dowiedziec sie przyczyny, dlaczego w oryginalnym projekcie nie mam funkcji add(). (to jest na pewno ten samem widzet, sprawdzalem parokrotnie)


EDIT: jezeli dodam addwidget(www) zostanie dodany tylko 1. element...
P-105837
« 1 »
  Strona 1 z 1