前面章節我們分享過Qt之QAbstractButton,講授了QAbstractButton的基本用法,本節側重講授QPushButton。
關于QPushButton的介紹,主要觸及setAutoDefault、setDefault、setMenu,前兩個比較復雜,牽扯源碼分析,這里暫不講授,后面我會專門寫1篇文章來講明,下面我們主要介紹按鈕如何設置菜單。
// 菜單
QMenu *pMenu = new QMenu(this);
pMenu->addAction(QString::fromLocal8Bit("設置"));
pMenu->addAction(QString::fromLocal8Bit("版本檢測"));
pMenu->addSeparator();
pMenu->addAction(QString::fromLocal8Bit("關于我們"));
pMenu->addAction(QString::fromLocal8Bit("退出"));
// 按鈕
QPushButton *pButton = new QPushButton(this);
pButton->setText(QString::fromLocal8Bit("主菜單"));
// 設置菜單
pButton->setMenu(pMenu);
默許情況下,按鈕的文本居中顯示,我們可以通過text-align
來設置對齊方式,menu-indicator
則使用來設置下拉3角的樣式,如果不想顯示3角,可以通過image: none
來設置。
QPushButton {
/* 水平居左、垂直居中 */
text-align: left center;
padding-left: 3px;
}
QPushButton::menu-indicator {
subcontrol-position: right center;
subcontrol-origin: padding;
padding-right: 3px;
/* image: none; */
}
上一篇 Node.js 吊炸天的文件操作
下一篇 HTTP服務器與客戶端-05