Ich versuche, eine GUI-Anwendung zu erstellen.Qt GUI-Design programmgesteuert
Das Hauptfenster, ein QMainWindow
, enthält 9 Etiketten mit fester Größe und auch die Größe des Hauptfensters.
Ich habe versucht, es ohne Qt GUI Designer programmgesteuert zu machen. Das Projekt wird ohne Fehler erstellt, aber ich kann weder eine Beschriftung noch ein Layout im Hauptfenster sehen. es ist nur leer.
Hier mein Quellcode ist:
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);
}
natürlich wird die Klasse initialisiert und in main.cpp evozierte:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
WCwindow *WCwin = new WCwindow;
WCwin->show();
return app.exec();
}
, welche Art von Fehler habe ich ??
Feste Größen sind eine schlechte Idee, da System/Benutzerabhängige Schriftgrößen, Übersetzungen usw. Wie lauten die Werte von wcW und wcH? –
Btw, wenn Sie die setFixedSize auf den Etiketten überspringen, sollte es mindestens so gut funktionieren. –
Dies liegt daran, dass die Größe des aufgenommenen Bildes von der Webcam eine feste Größe hat. Die Etiketten sind die Halter für diese Bilder erfassen –