QTabWidget 双击 关闭tab标签
2015-07-02 22:59
567 查看
QTabWidget 双击tab标签关闭对应的tab页 步骤:
1、重写QTabWidget
2、调用tabBar()【因为该方法是受保护的,所以要重写】 获得tabbar,保存为m_bar 成员变量
3、m_bar->installEventFilter(this); 给tabbar添加到事假过滤器
4、重写bool eventFilter(QObject *obj, QEvent *ev); 在这里面判断m_bar的双击事件; tabwidget的当前tab页就是被双击的tab标签;
5、qtdesigner创建的.ui文件中的控件也可以继承自重写的类,
6、以上是qt4的,从qt5.2开始QTabWidget 就有void tabBarDoubleClicked(int index)双击tabbar的信号了
1、重写QTabWidget
2、调用tabBar()【因为该方法是受保护的,所以要重写】 获得tabbar,保存为m_bar 成员变量
m_bar = tabBar();
3、m_bar->installEventFilter(this); 给tabbar添加到事假过滤器
4、重写bool eventFilter(QObject *obj, QEvent *ev); 在这里面判断m_bar的双击事件; tabwidget的当前tab页就是被双击的tab标签;
[code]bool TabWidget::eventFilter(QObject *obj, QEvent *event) { if (obj == m_bar) { if (event->type() == QEvent::MouseButtonDblClick) { int index= currentIndex();//当前被点击的tab标签 QString str = tabText(index); remove(index); return true; } else { return false; } } else { // pass the event on to the parent class return QTabWidget::eventFilter(obj, event); } }
5、qtdesigner创建的.ui文件中的控件也可以继承自重写的类,
6、以上是qt4的,从qt5.2开始QTabWidget 就有void tabBarDoubleClicked(int index)双击tabbar的信号了
相关文章推荐
- qtbase\\configure.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件
- Qt对ini文件的读写
- QtNetwork说明(两)使用QT实现360的ctrl+ctrl特征
- Qt对xml文件的读写
- 2015 Qt5 + opencv 2.11 在windows 7下的配置
- qt 安卓模拟器启动错误
- 基于Qt5 描绘物体在二维空间运动轨迹(一)
- qt音频程序调试总结
- Qt 字符串截取大全
- Qt入门之utf8与unicode转换
- QTVA-2015-198545、WooYun-2015-104148 .NET Framework Arbitrary File Permissions Modify Vul
- Qt之基本布局管理器
- Qt调用PolarSSL库(一个)
- MQTT的学习研究(十三) IBM MQTTV3 简单发布订阅实例
- MQTT的学习研究(十一) IBM MQTT 简单发布订阅实例
- qt 已解决
- Qt下 QString转char*
- Qt入门之HelloWorld
- Qt开发中遇到的问题与解决方法
- qt vs2010中提升窗口部件 自定义部件类