首页
buttongroup(buttongroup)
返回

buttongroup(buttongroup)

2023-01-03 精选经验 By:佚名
最佳答案大家好,小问来为大家解答以上问题。buttongroup,buttongroup这个很多人还不知道,现在让我们一起来看看吧!1、用惯了qt3的朋友在使用qt4的时候肯定会有些不适应,包括构建界面,一些类的使用上,都有一些区别,总得来说Qt4在编程方式上设计的更加合理了,因为它把界面代码和操作代码完全的“隔离”...

大家好,小问来为大家解答以上问题。buttongroup,buttongroup这个很多人还不知道,现在让我们一起来看看吧!

1、用惯了qt3的朋友在使用qt4的时候肯定会有些不适应,包括构建界面,一些类的使用上,都有一些区别,总得来说Qt4在编程方式上设计的更加合理了,因为它把界面代码和操作代码完全的“隔离”开了,这样就避免了我们在后期修改界面然后编译的时候会重写操作代码带来的尴尬局面了。qt4除了在界面设置上做了优化,还对一些类做了精简。比如原来Qt3上面的QButtonGroup类,在qt4的designer上面就没有表现出来。只是保留了原来qt3的ButtonGroup。是不是qt4上面就没有QButtonGroup类了呢,当然不是了。在qt4的assistant上面介绍QButtonGroup时说到:“QButtonGroup provides an abstract Container into which button widgets can be placed. It does not provide a visual representation of this container (see QGroupBox for a container widget), but instead manages the states of each of the buttons in the group”。其中提到QButtonGroup 提供的是一个放置按键控件的虚拟容器,但它不是个可视的容器。意思就是QButtonGroup 在qt4中变成了一个抽象的类。但是还可以像以前那样管理里面的按键。用法如下:

2、 首先就是要先声明一个QButtonGroup类的对象:QButtonGroup *buttonGroup;

3、 接着在初始化或者构造函数里面给这个指针对象分配空间:buttonGroup = new QButtonGroup;

4、 然后就可以用addButton()函数把想要放置的按键添加进去:

5、 buttonGroup->addButton( ui.pushButton0, 0 );

6、 buttonGroup->addButton( ui.pushButton1, 1 );

7、 buttonGroup->addButton( ui.pushButton2, 2 );

8、 buttonGroup->addButton( ui.pushButton3, 3 );

9、 buttonGroup->addButton( ui.pushButton4, 4 );

10、 buttonGroup->addButton( ui.pushButton5, 5 );

11、 buttonGroup->addButton( ui.pushButton6, 6 );

12、 buttonGroup->addButton( ui.pushButton7, 7 );

13、 buttonGroup->addButton( ui.pushButton8, 8 );

14、 buttonGroup->addButton( ui.pushButton9, 9 );

15、 这样就能把想要的按键与它所对应的ID号对应起来了,每一次点击按键时QButtonGroup都会信号buttonClicked (int ID)发射,通过判断ID的槽与其连接,就可以实现按键的判断了。例如:

16、 connect( buttonGroup, SIGNAL(buttonClicked (int)), this, SLOT(buttonJudge(int)) );//连接信号和槽

17、最后在槽函数中判断按键就可以了。当然槽函数记得要事先声明。

18、void IPhone::buttonJudge(int buttonID)

19、{

20、 if((modeFlag == defaultMode) || (modeFlag == hangupMode) || (modeFlag == inputMode))

21、{

22、 resetFont(1);

23、 if(modeFlag != inputMode)

24、 ui.lineEdit->clear();

25、 modeFlag = inputMode;

26、 switch (buttonID)

27、 {

28、 case 0: ui.lineEdit->insert("0"); break;

29、 case 1: ui.lineEdit->insert("1"); break;

30、 case 2: ui.lineEdit->insert("2"); break;

31、 case 3: ui.lineEdit->insert("3"); break;

32、 case 4: ui.lineEdit->insert("4"); break;

33、 case 5: ui.lineEdit->insert("5"); break;

34、 case 6: ui.lineEdit->insert("6"); break;

35、 case 7: ui.lineEdit->insert("7"); break;

36、 case 8: ui.lineEdit->insert("8"); break;

37、 case 9: ui.lineEdit->insert("9"); break;

38、 case 10: ui.lineEdit->insert("."); break;

39、 case 11: ui.lineEdit->insert("#"); break;

40、 default: break;

41、 }

42、}

43、}

44、这样就能实现简单按键判别了。

以上就是【buttongroup,buttongroup】相关内容。

猜你喜欢
春尽日同朱芷青刘瓠尊崇效寺看牡丹(关于春尽日同朱芷青刘瓠尊崇效寺看牡丹的简介)

春尽日同朱芷青刘瓠尊崇效寺看牡丹(关于春尽日同朱芷青刘瓠尊崇效寺看牡丹的简介)

12-31 0 阅读
小小心意不成敬意的意思(小小心意不成敬意什么意思)

小小心意不成敬意的意思(小小心意不成敬意什么意思)

12-30 0 阅读
海鸥(关于海鸥的基本详情介绍)

海鸥(关于海鸥的基本详情介绍)

01-01 0 阅读
枕芯发黄怎么洗小妙招白醋花露水(枕芯发黄怎么洗小妙招)

枕芯发黄怎么洗小妙招白醋花露水(枕芯发黄怎么洗小妙招)

12-30 0 阅读
无形的网络(关于无形的网络的简介)

无形的网络(关于无形的网络的简介)

12-31 0 阅读
易举正(关于易举正的简介)

易举正(关于易举正的简介)

01-01 0 阅读
热门推荐
春尽日同朱芷青刘瓠尊崇效寺看牡丹(关于春尽日同朱芷青刘瓠尊崇效寺看牡丹的简介)

春尽日同朱芷青刘瓠尊崇效寺看牡丹(关于春尽日同朱芷青刘瓠尊崇效寺看牡丹的简介)

12-31 0 阅读
小小心意不成敬意的意思(小小心意不成敬意什么意思)

小小心意不成敬意的意思(小小心意不成敬意什么意思)

12-30 0 阅读
海鸥(关于海鸥的基本详情介绍)

海鸥(关于海鸥的基本详情介绍)

01-01 0 阅读
枕芯发黄怎么洗小妙招白醋花露水(枕芯发黄怎么洗小妙招)

枕芯发黄怎么洗小妙招白醋花露水(枕芯发黄怎么洗小妙招)

12-30 0 阅读
无形的网络(关于无形的网络的简介)

无形的网络(关于无形的网络的简介)

12-31 0 阅读
易举正(关于易举正的简介)

易举正(关于易举正的简介)

01-01 0 阅读
刘正发(关于刘正发的基本详情介绍)

刘正发(关于刘正发的基本详情介绍)

01-02 0 阅读
在玄音琴行看到钢琴启蒙课,问大家这个重要吗?

在玄音琴行看到钢琴启蒙课,问大家这个重要吗?

11-01 0 阅读
忆往昔同窗数载书生意气什么意思

忆往昔同窗数载书生意气什么意思

02-15 0 阅读
江苏中考总分多少(江苏中考总分多少)

江苏中考总分多少(江苏中考总分多少)

01-03 0 阅读