QWidget* w = new QWidget(this);佈局
w->setGeometry(10,20,400,300);this
QVBoxLayout* layout = new QVBoxLayout(w);url
layout->setSpacing(0);orm
layout->setContentMargins(0,0,0,0);圖片
QPushButton* b = new QPushButton(w);ci
b->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);get
layout->addWidget(b);sed
QString style = "QPushButton{image:url(:/normal.png);border-style:none;}im
style += "QPushButton:hover{image:url(:/hover.png);border-style:none;}layout
style += "QPushButton:pressed{image:url(:/pressed.png);border-style:none;}
style += "QPushButton:checked{image:url(:/checked.png);border-style:none;}
b->setStyleSheet(style);
要想圖片隨着按鈕大小拉伸,能夠將image換成border-image
若是不想使用佈局,自由設置按鈕在widget中的位置:
QWidget* w = new QWidget(this);
w->setGeometry(10,20,400,300);
QPushButton* b = new QPushButton(w);
b->setGeometry(10,20,40,30);
b->show();//不要忘了這個,不然看不見
網格佈局QGridLayout的使用
QGridLayout* g = new QGridLayout(w);
QPushButton* b1 = new QPushButton(w);b1->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
QPushButton* b2 = new QPushButton(w);b2->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
QPushButton* b3 = new QPushButton(w);b3->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
g->addWidget(b1,0,0,1,2);//佔2行
g->addWidget(b2,0,1,1,1);
g->addWidget(b3,1,1,1,1);