Dynamiczna wielkość okna QDialog zależna od zawartości.
Ostatnio zmodyfikowano 2013-11-20 10:23
CodeFun Temat założony przez niniejszego użytkownika |
Dynamiczna wielkość okna QDialog zależna od zawartości. » 2013-11-18 20:24:36 Witam Mam taki problem. Nie wiem jakich funkcji użyć w klasie QDialog, aby wielkość okna dostosowywała się dynamicznie do obiektów w nim tworzonych. Ilość obiektów jest definiowana przez użytkownika. Obiekty te są zdefiniowane przez moją własną klasę. Obiektem tym jest QLabel i dwa QRadioButton (pytanie i dwa warianty odpowiedzi). Zauważyłem, że takie problemy się nie dzieją jeśli tworzę obiekty zdefiniowane przez w QT, widocznie muszą mieć ustawione coś w QSizePolicy o czym nie wiem. Zatem tak wygląda definicja klasy mojego obiektu. #ifndef OBIEKTNOWEGOZLEC_H #define OBIEKTNOWEGOZLEC_H
#include <QDialog> #include <QLabel> #include <QGridLayout> #include <QRadioButton> #include <QGroupBox> #include <QHBoxLayout> #include <QWidget>
class obiektnowegozlec : public QWidget { Q_OBJECT public: QRadioButton * tak, * nie; QLabel * trescpytan; QGroupBox * grupa; QHBoxLayout * Hbox; QString tresc_pyt; obiektnowegozlec( QString tresc_pyt, QWidget * parent = 0 ); void tworzenie(); };
#endif
a tak źródło #include "obiektnowegozlec.h" #include "oknogl.h"
obiektnowegozlec::obiektnowegozlec( QString tresc_pyt, QWidget * parent ) : QWidget( parent ) , tresc_pyt( tresc_pyt ) { tworzenie(); }
void obiektnowegozlec::tworzenie() { tak = new QRadioButton( "TAK", this ); nie = new QRadioButton( "NIE", this ); trescpytan = new QLabel( tresc_pyt ); trescpytan->setWordWrap( true ); trescpytan->setFixedWidth( 110 ); tak->setChecked( true ); grupa = new QGroupBox( this ); Hbox = new QHBoxLayout; Hbox->addWidget( trescpytan ); Hbox->addWidget( tak ); Hbox->addWidget( nie ); grupa->setLayout( Hbox ); } i teraz jeśli chce stworzyć takich obiektów powiedzmy 20 w oknie innej klasy także QDialog to okno te trzeba ręcznie porozciągać, aby zobaczyć wszystkie obiekty. Dodam, że obiekty te wszystkie wrzucam w QGridLayout w danej klasie. Jakieś pomysły? Jeden gość naprowadził mnie na funkcje sizeHint(), ale nie wiem jak się do niej ustosunkować, bo nie bardzo rozumiem jej działanie |
|
DejaVu |
» 2013-11-19 21:18:02 |
|
CodeFun Temat założony przez niniejszego użytkownika |
» 2013-11-20 10:23:23 Linki pomogły dziękuje. |
|
« 1 » |