Sto provando a creare un'applicazione GUI.Progettazione GUI Qt a livello di programmazione
La finestra principale, a QMainWindow
, contiene 9 etichette con dimensioni fisse e anche la dimensione della finestra principale.
Ho provato a farlo a livello di programmazione senza Qt GUI Designer. Il progetto è costruito senza errori ma non riesco a vedere nessuna etichetta o layout mostrato nella finestra principale. è solo vuoto.
Ecco il mio codice sorgente:
WCwindow::WCwindow()
{
// initialize widgets with text
CAM111 = new QLabel("CAM 01");
CAM121 = new QLabel("CAM 02");
CAM131 = new QLabel("CAM 03");
CAM211 = new QLabel("CAM 04");
CAM221 = new QLabel("CAM 05");
CAM231 = new QLabel("CAM 06");
CAM311 = new QLabel("CAM 07");
CAM321 = new QLabel("CAM 08");
CAM331 = new QLabel("CAM 09");
CAM111->setFixedSize(wcW,wcH);
CAM121->setFixedSize(wcW,wcH);
CAM131->setFixedSize(wcW,wcH);
CAM211->setFixedSize(wcW,wcH);
CAM221->setFixedSize(wcW,wcH);
CAM231->setFixedSize(wcW,wcH);
CAM311->setFixedSize(wcW,wcH);
CAM321->setFixedSize(wcW,wcH);
CAM331->setFixedSize(wcW,wcH);
QGridLayout *layout = new QGridLayout;
layout->addWidget(CAM111,0,0);
layout->addWidget(CAM121,0,1);
layout->addWidget(CAM131,0,2);
layout->addWidget(CAM211,1,0);
layout->addWidget(CAM221,1,1);
layout->addWidget(CAM231,1,2);
layout->addWidget(CAM311,2,0);
layout->addWidget(CAM321,2,1);
layout->addWidget(CAM331,2,2);
setLayout(layout);
setWindowTitle("Camera Window");
setFixedSize(1000, 800);
}
naturalmente, la classe viene inizializzato e evocato in main.cpp:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
WCwindow *WCwin = new WCwindow;
WCwin->show();
return app.exec();
}
che tipo di bug sto avendo ??
dimensioni fisse sono una cattiva idea, dato sistema/Dimensioni dei caratteri dipendenti dall'utente, traduzioni ecc. Ad ogni modo, quali sono i valori di wcW e wcH? –
Btw, se salti il setFixedSize sulle etichette, dovrebbe funzionare almeno altrettanto bene. –
questo perché la dimensione dell'immagine catturata dalla webcam ha dimensioni fisse. Le etichette sono i titolari di quelle immagini di cattura –