QWidget添加帶有圖片的QPushButton,佈局QGridLayout

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);

相關文章
相關標籤/搜索