html5网站开发环境,查找企业信息的网站,网站建设电话邀约话术,百度新闻源网站有哪些1、解决如何快速的添加按钮 在qt中#xff0c;通常我们喜欢一个按钮添加一个信号与槽#xff0c;但是这样写太过浪费时间。要是多个按钮那不是要写30个信号与槽#xff0c;说实话#xff0c;我不太喜欢这样。 在ui中#xff0c;只要拖动按钮#xff0c;会自动生成按钮的名…1、解决如何快速的添加按钮 在qt中通常我们喜欢一个按钮添加一个信号与槽但是这样写太过浪费时间。要是多个按钮那不是要写30个信号与槽说实话我不太喜欢这样。 在ui中只要拖动按钮会自动生成按钮的名字一般都是pushButton,pushButton_2,pushButton_3这样这样写多了别人看你的代码与ui都很繁杂这样写就显得很low,别人看很不方便你自己写模块功能按钮多了每次都要切到ui看一样这样都很烦。 在qt中有一个类叫按钮组提供按钮编号的功能把一类按钮可以放在一个组中这样一个组一个模块方便管理与减少代码量。 使用QT的类 #includeQButtonGroup 声明按钮组
QButtonGroup *rightBtnGroup; //右侧
实例化按钮组 rightBtnGroup new QButtonGroup();
添加多个按钮 for (int i 37; i 43; i) {QString buttonName QString(pushButton_%1).arg(i);QPushButton *button findChildQPushButton *(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(num37){xxx}else if(num38){xxx}else if(num39){xxx}else if(num40){xxx}else if(num41){xxx}else if(num42){xxxelse if(num43){xxx}
}
2、好处
1、减少代码量
2、一类按钮可以放在一个按钮组中写一些界面跳转功能比较简单的小功能真的很方便。
3、按钮组除了可以添加pushButton,也可以添加ToolButton等设置单选也可以设置多选