一、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

  • 名词:按钮盒

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐