• 3649阅读
  • 7回复

[提问]在主窗口的构造函数中添加QWidget等控件为什么显示不出来 [复制链接]

上一主题 下一主题
离线phyond
 

只看楼主 倒序阅读 楼主  发表于: 2017-06-01
构造函数如下所示:
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

只看该作者 1楼 发表于: 2017-06-01
LZ你这个写法不报错吗?
正确的应该这么写QWidget *taishiback=new QWidget(this);
离线笑颜

只看该作者 2楼 发表于: 2017-06-01
setCentralWidget(),QMainWindow请设置窗口中心控件
离线大漠之鹰

只看该作者 3楼 发表于: 2017-06-01
    //taishiback->show();为什么要注释掉?
以前遇到过这种问题,加上show就会显示。注释掉怎么显示啊
看一下ui文件生成的那个ui_XXXXX.h文件,那里边也是调用了show函数的
本是后山人,偶作前堂客,醉舞经阁半卷书,坐井说天阔。大志戏功名,海斗量福祸,论到囊中羞涩时,怒指乾坤错
QQ:874164244
离线phyond

只看该作者 4楼 发表于: 2017-06-02
搞不出来,最后在界面上直接拖出来一个,可是这种方法又设置不了背景颜色, ,新手上路不容易阿
离线littlebee

只看该作者 5楼 发表于: 2017-06-02
添加代码如下
    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

只看该作者 6楼 发表于: 2017-06-02
回 phyond 的帖子
phyond:搞不出来,最后在界面上直接拖出来一个,可是这种方法又设置不了背景颜色,[表情] ,新手上路不容易阿 (2017-06-02 09:21) 

同是新手,一起加油!
离线dosmlp

只看该作者 7楼 发表于: 2017-06-02
不添加布局器容易被其他控件挡住,自然就看不到了
快速回复
限100 字节
 
上一个 下一个