查看完整版本: [--
在主窗口的构造函数中添加QWidget等控件为什么显示不出来
--]
QTCN开发网
->
Qt基础编程
->
在主窗口的构造函数中添加QWidget等控件为什么显示不出来
[打印本页]
登录
->
注册
->
回复主题
->
发表主题
phyond
2017-06-01 15:06
在主窗口的构造函数中添加QWidget等控件为什么显示不出来
构造函数如下所示:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->setWindowFlags(Qt::FramelessWindowHint);
this->setWindowFlags (Qt::Window);
this->showFullScreen();
taishiback=new QWidget;
taishiback->setGeometry(0,0,800,600);
//taishiback->setAutoFillBackground(true);
//ui->verticalLayout->addWidget(taishi);
//taishiback->show();
//taishiback->setParent(this);
lab1=new QLabel;
lab1->setGeometry(0,1100,50,100);
lab1->setText("1234555");
lab1->setParent(this);
}
看很多例程中都使用了布局管理器,难道不使用就不能显示出来吗?还有哪里有问题?
如果说this没有添加新建的控件,那么应该用this的哪个成员函数?
littlebee
2017-06-01 17:48
LZ你这个写法不报错吗?
正确的应该这么写QWidget *taishiback=new QWidget(this);
笑颜
2017-06-01 19:50
setCentralWidget(),QMainWindow请设置窗口中心控件
大漠之鹰
2017-06-01 20:58
//taishiback->show();为什么要注释掉?
以前遇到过这种问题,加上show就会显示。注释掉怎么显示啊
看一下ui文件生成的那个ui_XXXXX.h文件,那里边也是调用了show函数的
phyond
2017-06-02 09:21
搞不出来,最后在界面上直接拖出来一个,可是这种方法又设置不了背景颜色,
,新手上路不容易阿
littlebee
2017-06-02 11:01
添加代码如下
QWidget *taishiback=new QWidget;
taishiback->setGeometry(420,370,320,30);
QPalette palette;
palette.setBrush(QPalette::Background,QBrush(Qt::red));
taishiback->setPalette(palette);
taishiback->setEnabled(true);
taishiback->setAutoFillBackground(true);
taishiback->setParent(this);
窗体右下角显示出来一块红色矩形patten
littlebee
2017-06-02 11:03
phyond
:
搞不出来,最后在界面上直接拖出来一个,可是这种方法又设置不了背景颜色,[表情] ,新手上路不容易阿
(2017-06-02 09:21)
同是新手,一起加油!
dosmlp
2017-06-02 17:17
不添加布局器容易被其他控件挡住,自然就看不到了
查看完整版本: [--
在主窗口的构造函数中添加QWidget等控件为什么显示不出来
--] [--
top
--]
Powered by
phpwind
v8.7
Code ©2003-2011
phpwind
Gzip disabled