一、Push Button
- 名词:按钮
常用函数
//得到/设置按钮在程序界面中显示的位置和大小
const QRect &geometry() const
void setGeometry(int x, int y, int w, int h)
void setGeometry(const QRect &)//获得/设置按钮显示的字体/样式
const QFont &font() const
void setFont(const QFont &)
二、Tool Button
- 名词:工具按钮
Tool Button设置下拉菜单
- 方式一:用以下的函数创建
setPopupMode
设置ToolButton弹出菜单的模式
- QToolButton::InstantPopup:ToolButton右下角显示一个小箭头,点击小箭头显示菜单
- QToolButton::MenuButtonPopup:ToolButton右侧有一个向下的小箭头,点击小箭头显示菜单
上面方式的不同:InstantPopup即使为这个ToolButton关联了Action也不会Action的功能
setToolButtonStyle
设置按钮样式
setMenu
为ToolButton设置下拉菜单对象
//tBtnSelectItem为ToolButton,是ui界面下添加好的
void MainWindow::createSelectionPopMenu()
{
QMenu *menuSelection=new QMenu(this);//新建一个菜单
menuSelection->addAction(ui->actSelAll);//为菜单添加Action
menuSelection->addAction(ui->actSelNone);
menuSelection->addAction(ui->actSelInvs);
ui->tBtnSelectItem->setPopupMode(QToolButton::MenuButtonPopup);//设置菜单弹出模式
ui->tBtnSelectItem->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);//设置按钮格式
ui->tBtnSelectItem->setDefaultAction(ui->actSelPopMenu);//关联Action
ui->tBtnSelectItem->setMenu(menuSelection);//设置下拉菜单
QToolButton *aBtn=new QToolButton(this);//新建一个ToolButton放置到主工具栏中
aBtn->setPopupMode(QToolButton::InstantPopup);
aBtn->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
aBtn->setDefaultAction(ui->actSelPopMenu);
aBtn->setMenu(menuSelection);
ui->mainToolBar->addWidget(aBtn);//将ToolButton放置在主工具栏上
}
- 方式二:ui界面下设置下面的属性
Tool Button配合Action的使用
- 演示案例
先设置一些Action对象
- 然后定义一个私有函数,将ToolButton与上面这些Action相关联(此函数使用时需要放置到构造函数中)
void MainWindow::setActionForButton()
{
ui->tBtnListIni->setDefaultAction(ui->actListIni);
ui->tBtnListClear->setDefaultAction(ui->actListClear);
ui->tBtnListInsert->setDefaultAction(ui->actListInsert);
ui->tBtnListAppend->setDefaultAction(ui->actListAppend);
ui->tBtnListDelete->setDefaultAction(ui->actListDelete);
ui->tBtnSelALL->setDefaultAction(ui->actSelAll);
ui->tBtnSelNone->setDefaultAction(ui->actSelNone);
ui->tBtnSelInvs->setDefaultAction(ui->actSelInvs);
}
三、Check Box
- 名词:复选框
bool isChecked() const; //设置返回Check Box是否被选中
void setChecked(bool); //设置Check Box是否为选中状态
四、Radio Button
- 名词:单选按钮
五、Command Link Button
- 名词:命令链接按钮
六、Dialog Button Box
- 名词:按钮盒