【发布时间】:2012-08-07 03:18:25
【问题描述】:
我正在尝试创建一个 GUI 应用程序。
主窗口,QMainWindow,包含 9 个固定大小的标签,也是主窗口的大小。
我试图在没有 Qt GUI Designer 的情况下以编程方式实现它。该项目的构建没有错误,但我看不到主窗口上显示的任何标签或布局。它只是空白。
这是我的源代码:
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);
}
当然,类是在main.cpp中初始化和调用的:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
WCwindow *WCwin = new WCwindow;
WCwin->show();
return app.exec();
}
我遇到了什么错误??
【问题讨论】:
-
固定大小是个坏主意,考虑到系统/用户依赖的字体大小、翻译等。无论如何,wcW 和 wcH 的值是什么?
-
顺便说一句,如果您跳过标签上的 setFixedSize,它应该至少可以正常工作。
-
这是因为从网络摄像头捕获的图像的大小是固定的。标签是那些捕获图像的持有者
标签: qt user-interface