建構式如下所示: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的哪個成員函式?
uj5u.com熱心網友回復:
LZ你這個寫法不報錯嗎?正確的應該這么寫QWidget *taishiback=new QWidget(this);uj5u.com熱心網友回復:
setCentralWidget(),QMainWindow請設定視窗中心控制元件uj5u.com熱心網友回復:
//taishiback->show();為什么要注釋掉?以前遇到過這種問題,加上show就會顯示。注釋掉怎么顯示啊看一下ui檔案生成的那個ui_XXXXX.h檔案,那里邊也是呼叫了show函式的uj5u.com熱心網友回復:
搞不出來,最后在界面上直接拖出來一個,可是這種方法又設定不了背景顏色, ,新手上路不容易阿uj5u.com熱心網友回復:
添加代碼如下 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);表單右下角顯示出來一塊紅色矩形pattenuj5u.com熱心網友回復:
不添加布局器容易被其他控制元件擋住,自然就看不到了uj5u.com熱心網友回復:
setParent(centerWidget());轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/159910.html
標籤:其他技術討論專區
下一篇:Eclipse 教程
