• 8813阅读
  • 2回复

[提问]statusBar中是如何显示statusTip的? [复制链接]

上一主题 下一主题
离线cyesh
 
只看楼主 倒序阅读 楼主  发表于: 2011-03-27
— 本帖被 yfx2003 从 《C++ GUI Qt 4编程》(第2版)专栏 移动到本区(2011-05-16) —
C++ GUI Qt4编程(2nd)》第3章的示例:在QMainWindow中,只要在创建相关QAction的同时为每个QAction进行setStatusTip,然后在QMainWindow中的statusBar就会自动显示相关QAction的statusTip,不需要任何信号、槽连接,这是为什么?

另外关于QtDesigner有2个问题
1、如何在QtDesigner中编辑QMainWindow类的statusBar?statusBar有在对象编辑器中显示出来,但好像没办法编辑,比如添加QLabel之类的?
2、QtDesigner中制作的QAction,QAction有一个“工具提示”选项,这个应该就是最后显示出来的statusTip吧?为什么Ui文件转化成的代码中,没有出现setStatusTip这个函数?好像这样就不会在statusBar中显示statusTip内容?
离线XChinux

只看该作者 1楼 发表于: 2011-03-27
所谓的statusTips,是在鼠标移动到某个部件上后,在状态栏中显示该部件的statusTips。

1、想添加QLabel 之类的部件,需要手工调用addPermanentWidget()这个方法(不知道拼写对了没有)
2、有调用的,.ui生成的代码,在retranslateUi()函数
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线cyesh
只看该作者 2楼 发表于: 2011-03-28
呃,我自己作了一些测试……
先说下自己测试的环境吧:PyQt4.8.3,所以Ui文件的代码转换工具是pyuic4,生成的是python代码,如果以下结论与C++代码的不同,那么就是RP问题___orz_____

结论:
1、QtDesigner中,动作编辑器的“工具提示”是setToolTip,不是setStatusTip!——所以自己第2个问题就是判断错误了。
2、QtDesigner中创建一个QMainWindow对象,自动创建一个StatusBar,但不能添加QWidget。有了它,一旦QAction的statusTip属性非空,会自动在statusBar显示出来。话说statusBar的addPermanentWidget函数和addWidget函数还是有不同的(大概一个是永远显示,一个是必要时才显示?)
3、QtDesigner创建的QAction,“动作编辑器”没有设定statusTip的选项,在“属性编辑器”中才有!所以是自己看走眼了,习惯害死人啊:(
快速回复
限100 字节
 
上一个 下一个