int main(int argc,char *argv[])
{
QApplication a(argc,argv);
QWidget *w = new QWidget();
QPushButton *button1 = new QPushButton("加載", w);
QPushButton *button2 = new QPushButton("清除", w);
button1->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
button2->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
button1->setMinimumSize(60,30);
button2->setMinimumSize(60,30);
QLabel *label1=new QLabel(w);
label1->setText("行");
QLabel *label2=new QLabel(w);
label2->setText("列");
QLabel *label3=new QLabel(w);
label3->setText("大小");
QLineEdit *rowEdit = new QLineEdit(w);
QLineEdit *colEdit = new QLineEdit(w);
QLineEdit *sizeEdit = new QLineEdit(w);
QFormLayout *fLayout = new QFormLayout(w);
fLayout->setSpacing(20);
fLayout->setLabelAlignment(Qt::AlignRight);
//添加組件到表單布局管理器
// fLayout->addRow("行:", rowEdit);
// fLayout->addRow("列:", colEdit);
// fLayout->addRow("大小:", sizeEdit);
QVBoxLayout *vlayout = new QVBoxLayout(w);
QHBoxLayout *hlayout1 = new QHBoxLayout(w);
QHBoxLayout *hlayout2 = new QHBoxLayout(w);
QHBoxLayout *hlayout3 = new QHBoxLayout(w);
QHBoxLayout *hlayout4 = new QHBoxLayout(w);
hlayout1->setSpacing(20);
hlayout2->setSpacing(20);
hlayout3->setSpacing(20);
hlayout4->setSpacing(20);
hlayout1->addWidget(label1);
hlayout1->addWidget(rowEdit);
hlayout2->addWidget(label2);
hlayout2->addWidget(colEdit);
hlayout3->addWidget(label3);
hlayout3->addWidget(sizeEdit);
hlayout4->addWidget(button1);
hlayout4->addWidget(button2);
vlayout->setSpacing(50);
vlayout->addLayout(hlayout1);
vlayout->addLayout(hlayout2);
vlayout->addLayout(hlayout3);
vlayout->addLayout(hlayout4);
w->setLayout(vlayout);
w->show();
return a.exec();
}

然后還聽說是因為沒有洗掉ui自動生成的樣式所以才這樣的https://blog.csdn.net/xinzhiyounizhiyouni/article/details/44521501

但是還是會,急救
uj5u.com熱心網友回復:
大神們幫個忙,幾個小時了,還沒解決。。。uj5u.com熱心網友回復:
setContentWidget這個函式好像用不了,是要添加哪個頭檔案嗎,好像都沒用,版本qt-opensource-windows-x86-5.11.0uj5u.com熱心網友回復:
把QFormLayout *fLayout = new QFormLayout(w);
fLayout->setSpacing(20);
fLayout->setLabelAlignment(Qt::AlignRight);
注釋掉
uj5u.com熱心網友回復:
QFormLayout *fLayout = new QFormLayout(w);不用設定parent,改成
QFormLayout *fLayout = new QFormLayout();
即可,親測可行
uj5u.com熱心網友回復:
btw,對于layout來說,兩種關聯widget的方式,一種是new layout的時候指定parent,另一種是通過widget->setlayout的方式,二者用其一即可uj5u.com熱心網友回復:
同意樓上
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/106865.html
標籤:Qt
上一篇:QT!
下一篇:Qt 組合快捷鍵小鍵盤問題
