在QMainWindow添加控件无法显示而QDialog却可以
2014-11-04 15:40
337 查看
今天在QMainWindow添加控制,无法显示,加上布局管理器后也一样,到底为何?
首先,对于QDialog而言,添加控件过程:
1、创建子窗口部件,如
QRadioButton *radio1 = new QRadioButton(tr("&Radio button 1"));
2、创建一个布局
QVBoxLayout *vbox = new QVBoxLayout;
3、将子窗口部件添加到布局中去
vbox->addWidget(radio1);
4、将布局设置到QDialog中去
this->setLayout(vbox);
这样,在Qdialog就可以看到子窗口部件了;但在QMainWindow中看不到???
求助google、百度,从QT Assistant 中找到这句话:
Note: Creating a main
window without a central widget is
not supported. You must have a central widget even if it is just a placeholder.
原来mainwindow必须要有个centralWidget.于是便给他一个widget。示例代码如下:
QWidget *centerWindow = new QWidget;
this->setCentralWidget(centerWindow);
button1 = new QPushButton("One");
button2 = new QPushButton("Two");
button3 = new QPushButton("Three");
button4 = new QPushButton("Four");
button5 = new QPushButton("Five");
layout = new QVBoxLayout;
layout->addWidget(button1);
layout->addWidget(button2);
layout->addWidget(button3);
layout->addWidget(button4);
layout->addWidget(button5);
QGroupBox *groupBox = new QGroupBox(tr("登录"));
groupBox->setLayout(layout);
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(groupBox);
centerWindow->setLayout(mainLayout);
首先,对于QDialog而言,添加控件过程:
1、创建子窗口部件,如
QRadioButton *radio1 = new QRadioButton(tr("&Radio button 1"));
2、创建一个布局
QVBoxLayout *vbox = new QVBoxLayout;
3、将子窗口部件添加到布局中去
vbox->addWidget(radio1);
4、将布局设置到QDialog中去
this->setLayout(vbox);
这样,在Qdialog就可以看到子窗口部件了;但在QMainWindow中看不到???
求助google、百度,从QT Assistant 中找到这句话:
Note: Creating a main
window without a central widget is
not supported. You must have a central widget even if it is just a placeholder.
原来mainwindow必须要有个centralWidget.于是便给他一个widget。示例代码如下:
QWidget *centerWindow = new QWidget;
this->setCentralWidget(centerWindow);
button1 = new QPushButton("One");
button2 = new QPushButton("Two");
button3 = new QPushButton("Three");
button4 = new QPushButton("Four");
button5 = new QPushButton("Five");
layout = new QVBoxLayout;
layout->addWidget(button1);
layout->addWidget(button2);
layout->addWidget(button3);
layout->addWidget(button4);
layout->addWidget(button5);
QGroupBox *groupBox = new QGroupBox(tr("登录"));
groupBox->setLayout(layout);
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(groupBox);
centerWindow->setLayout(mainLayout);
相关文章推荐
- 在QMainWindow添加控件或者布局无法显示,而QDialog却可以
- 使用draggablegridview开源库添加自定义控件可以显示,添加自定义的layout文件可以显示背景色但是无法显示其控件
- 在JFrame中无法显示已经添加了的Label等控件
- table 中添加checkbox db8f 控件无法显示
- 元数据在列表中的显示值只有网站集管理才可以看到,其他用户无法看到值,但是添加和修改的时候所有用户都可以看到。
- 关于IOS某图片添加控件,图片从相册或拍照保存后,再次进入时点击放大图无法显示的问题
- 升级DotnetBar后,原先的工程可以打开,但无法添加新的DotnetBar控件?
- 添加webpart时出现“此网页上的某个Web部件或Web表单控件无法显示或导入。该类型未注册为安全类型 。”
- 设置分录表格的标题,给分录添加按钮,当标题无法显示全部文字时,可修改参数改变标题控件的长度。
- 在QMainWindow添加控件,无法显示问题
- 一个使用GridView显示数据,并且可以进行添加、修改、删除操作的例子
- 关于VS2008中,C#创建ASP.NET Web应用程序无法添加和使用web控件
- Linux下控制台无法显示中文,LC_ALL=zh_CN LANG=zh_CN 添加到.bashrc
- Net2005中的WebBrowser控件无法显示office2007的文档
- VB.Net自己写的一个控件:ComboBox下拉列表中显示多列数据(可以绑定数据表)
- 无法打开多维数据集(使用Dundas的OLAP显示控件时的一个小的问题)
- ASP.NET Web页面(.aspx)添加用户控件(.ascx)无显示的问题
- 创建两个 DataTable 对象和一个 DataRelation 对象,并将这些新对象添加到 DataSet 中。这些表随后会显示在 DataGridView 控件中
- 梅花雨日历控件 修正DOCTYPE无法显示问题,增加清空按钮
- 求助:有什么控件可以显示PDF文件啊?