QT进阶------------------QPushButton(快速添加按钮与使用)

这篇具有很好参考价值的文章主要介绍了QT进阶------------------QPushButton(快速添加按钮与使用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、解决如何快速的添加按钮

      在qt中,通常我们喜欢一个按钮添加一个信号与槽,但是这样写太过浪费时间。要是多个按钮那不是要写30个信号与槽,说实话,我不太喜欢这样。

     在ui中,只要拖动按钮,会自动生成按钮的名字,一般都是pushButton,pushButton_2,pushButton_3这样,这样写多了,别人看你的代码与ui都很繁杂,这样写就显得很low,别人看很不方便,你自己写模块功能,按钮多了,每次都要切到ui看一样,这样都很烦。

     在qt中,有一个类叫按钮组,提供按钮编号的功能,把一类按钮可以放在一个组中,这样一个组一个模块,方便管理与减少代码量。

   使用QT的类:

   

#include<QButtonGroup>

   声明按钮组:

QButtonGroup   *rightBtnGroup;   //右侧

实例化按钮组:

  rightBtnGroup = new QButtonGroup();

添加多个按钮:

 for (int i = 37; i <= 43; ++i) {
        QString buttonName = QString("pushButton_%1").arg(i);
        QPushButton *button = findChild<QPushButton *>(buttonName); // 在ui中查找按钮
        if (button) {
            rightBtnGroup->addButton(button, i); // 将按钮添加到按钮组中,并指定 ID
        }
    }

注意:ui中,一般默认第一个按钮是pushButton,改成pushButton_1,格式保持一致。

信号与槽

connect(rightBtnGroup, &QButtonGroup::idClicked, this, &xxxx::rightButtonGroupClicked);  //右侧按钮

槽函数

void yourclass::rightButtonGroupClicked(int num)
{
    if(num==37)
    {
        xxx
    }
    else  if(num==38)
    {
        xxx
    }
    else  if(num==39)
    {
        xxx
    }
    else  if(num==40)
    {
        xxx
    }
    else  if(num==41)
    {
        xxx
    }
    else  if(num==42)
    {
        xxx
    else  if(num==43)
    {
       xxx
    }
}

2、好处

1、减少代码量

2、一类按钮可以放在一个按钮组中,写一些界面跳转功能,比较简单的小功能,真的很方便。

3、按钮组除了可以添加pushButton,也可以添加ToolButton等,设置单选,也可以设置多选文章来源地址https://www.toymoban.com/news/detail-847698.html

到了这里,关于QT进阶------------------QPushButton(快速添加按钮与使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QT中对于QPushButton样式的调整

    前段时间在调软件的样式,学到了些新的东西,也碰到了些问题,这里做一下记录。 这篇博客主要实现的目标就如标题所示。 随便建一个项目,建一个资源包,导入一个资源图片。 这样我们想要的基本元素就有了,文字和按钮图标。 因为我下载的图片元素比较大,所以我这

    2024年04月28日
    浏览(25)
  • Qt通过QSS设置QPushButton的样式

    为了美化界面,有时候需要修改QPushButton的样式,让一个QPushButton上面既要显示图标,又要显示文字内容 起初我的做法是重写QPushButton,这样做可以实现,但是有几个问题 实现比较繁琐 每次使用UI编辑器设计界面的时候,对每一个QPushButton都要做一次提升 为了解决上面的问题

    2024年02月13日
    浏览(36)
  • Qt 之 QPushButton,信号与槽机制

    当我们开发基于Qt框架的图形用户界面(GUI)应用程序时,经常需要在界面上添加按钮来实现用户交互。Qt提供了一个名为 QPushButton 的类作为按钮控件的实现。QPushButton是Qt中的标准按钮类,旨在简化按钮的创建和使用。 头文件 :#include QPushButton QPushButton 用于 接受用户点击事

    2024年02月12日
    浏览(35)
  • C++ Qt开发:PushButton按钮组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍 QPushButton 按钮组件的常用方法及灵活运用。 QPushButton 是 Qt 框架中用于创建按钮

    2024年02月05日
    浏览(33)
  • Qt——QPushButton控件的常见属性、方法和信号

    一、QPushButton控件常见属性 二、QPushButton控件常见方法 三、QPushButton控件常见信号 1. text: 描述:按钮上显示的文本。 用法: 2. setStyleSheet 描述:用于设置控件的样式表 用法: 3. icon: 描述:按钮上显示的图标。 用法: 4. resize: 描述:重置按钮大小。 用法: 5. move: 描述:移动

    2024年02月10日
    浏览(28)
  • VS开发QT项目,手写按钮槽函数避坑

    由于最近开发需要在VS2017上配置QT开发环境,进行QT项目的开发,之前从来没有这样使用过,在此记一些坑。 QT的槽函数是非常方便的,使用QT Creator可以自动生成代码,方便快捷。但是代码可读性不强,一些连接方面的信息都被隐藏了。由于之前一直使用QT Creator,所以其实还

    2023年04月13日
    浏览(27)
  • Qt应用开发(基础篇)——工具按钮类 QToolButton

            QToolButton 类继承于 QAbstractButton ,该部件为命令或选项提供了一个快速访问按钮,通常用于 QToolBar 中。         按钮基类 QAbstractButton          QToolButton 是一个特殊的按钮,一般显示文本,只显示图标,结合toolBar使用。它提供对特定命令或选项的快速访问,

    2024年02月09日
    浏览(33)
  • QT鼠标事件穿透,使QLabel、QPushbutton等上层控件可以被穿透

    几乎QT所有的标准控件都可以被穿透。方法除了我们自定义这个控件外,如: 之外,这些标准控件也可以通过配置setAttribute来实现鼠标事件穿透。如:

    2024年02月12日
    浏览(33)
  • 有几种方法修改QPushButton的大小、文字颜色等属性?(Qt面试题)

    使用 setFixedSize(width, height)函数 :可以直接调用QPushButton的setFixedSize函数,将所需的宽度和高度作为参数传递给它。这将固定按钮的大小,并防止其自动调整大小以适应其内容。 使用 setGeometry(x, y, width, height)函数 :setGeometry函数可以设置QPushButton的位置和大小。通过设置按钮的

    2024年02月13日
    浏览(31)
  • QT中怎么使用QPalette设置按钮控件背景色

    💂 个人主页:pp不会算法 v 🤟 版权: 本文由【pp不会算法 v 】原创、在CSDN首发、需要转载请联系博主 💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 关于以上代码:并没有实现设置按钮控件的背景色 但是参照QT的帮助文档: 照上面这么讲确实应该可

    2024年02月11日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包