前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分享按钮组实现小例子

分享按钮组实现小例子

作者头像
Qt君
发布2020-04-01 11:20:28
6070
发布2020-04-01 11:20:28
举报

❝实现单选按钮状态的功能。当按钮按下触发后将会被标记选中,其他按钮释放选中标记。 ❞

代码

QButtonGroup *buttonGroup = new QButtonGroup(this);
/* 监听ButtonGroup按钮事件 */
connect(buttonGroup, SIGNAL(buttonClicked(int)), this, SLOT(onClicked(int)));

QList<QColor> colorList;
colorList << "red"
          << "green"
          << "blue"
          << "yellow"
          << "black"
          << "white";

foreach (const QColor &color, colorList) {
    QPushButton *colorButton = new QPushButton(this);
    colorButton->setFixedSize(100, 100);

    /* 设置为单项选择 */
    colorButton->setCheckable(true);

    /* 画图标的颜色 */
    QPixmap colorPixmap = QPixmap(20, 20);
    QPainter painter;
    painter.begin(&colorPixmap);
    painter.fillRect(QRectF(0, 0, 20, 20),
                     QColor(color));
    painter.end();

    /* 设置按钮的图标 */
    QIcon colorIcon = QIcon(colorPixmap);
    colorButton->setIcon(colorIcon);

    /* 添加按钮到QButtonGroup中 */
    buttonGroup->addButton(colorButton, color.rgb());
}

QToolBar *toolBar = new QToolBar(this);
/* 将工具栏添加到QToolBar中 */
foreach (QAbstractButton *button, buttonGroup->buttons()) {
    toolBar->addWidget(button);
}

/* 工具栏样式 */
toolBar->setStyleSheet(R"(
                       QToolBar {
                           border-style: solid;
                           border-radius: 5px;
                           margin: 0px;
                           padding: 0px;
                           color: white;
                           background: white;
                       })");

toolBar->resize(toolBar->sizeHint());
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Qt君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档