QCombobox的下拉收起事件是什么

suh_a 2016-06-13 09:50:17
想在QComboBox 下拉收起的时候发射一个信号 或者截取它的Event 但是找了半天也没找到 求各路大神不吝指教~
...全文
2195 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Little柯南 2016-06-13
  • 打赏
  • 举报
回复
要么你写在鼠标事件里面,因为你点击里面的index项后,下拉一般才会收起来;要么你就关联 int index=ui->comboBox->currentIndex();无论选index是哪个,都会执行你要做的事情
Little柯南 2016-06-13
  • 打赏
  • 举报
回复
void QWidget::dragLeaveEvent(QDragLeaveEvent * event) [virtual protected] This event handler is called when a drag is in progress and the mouse leaves this widget. The event is passed in the event parameter. See the Drag-and-drop documentation for an overview of how to provide drag-and-drop in your application. See also QDrag and QDragLeaveEvent.
Little柯南 2016-06-13
  • 打赏
  • 举报
回复
引用 6 楼 suh_a 的回复:
[quote=引用 5 楼 u010111033 的回复:] void QComboBox::hidePopup() [virtual] 看看这样行不:加入事件管理器OBj == list of items;event == hideEvent void QWidget::hideEvent(QHideEvent * event) [virtual protected] This event handler can be reimplemented in a subclass to receive widget hide events. The event is passed in the event parameter. Hide events are sent to widgets immediately after they have been hidden. 尤其注意上面英文
隐藏事件我也试过了 但是结果是隐藏并不会被触发。不过我试了一下重写HidePopup()的方法 这个确实是可以的。在HidePopup中发送一个我自己定义的信号,然后父窗口接收。所以谢谢啦[/quote] 恭喜!!!
suh_a 2016-06-13
  • 打赏
  • 举报
回复
引用 5 楼 u010111033 的回复:
void QComboBox::hidePopup() [virtual] 看看这样行不:加入事件管理器OBj == list of items;event == hideEvent void QWidget::hideEvent(QHideEvent * event) [virtual protected] This event handler can be reimplemented in a subclass to receive widget hide events. The event is passed in the event parameter. Hide events are sent to widgets immediately after they have been hidden. 尤其注意上面英文
隐藏事件我也试过了 但是结果是隐藏并不会被触发。不过我试了一下重写HidePopup()的方法 这个确实是可以的。在HidePopup中发送一个我自己定义的信号,然后父窗口接收。所以谢谢啦
Little柯南 2016-06-13
  • 打赏
  • 举报
回复
void QComboBox::hidePopup() [virtual] 看看这样行不:加入事件管理器OBj == list of items;event == hideEvent void QWidget::hideEvent(QHideEvent * event) [virtual protected] This event handler can be reimplemented in a subclass to receive widget hide events. The event is passed in the event parameter. Hide events are sent to widgets immediately after they have been hidden. 尤其注意上面英文
Little柯南 2016-06-13
  • 打赏
  • 举报
回复
一般对于Qt而言,是不是下拉状态或者悬浮、扩展类似状态,是有个枚举关联这些状态的,然后有stateChangeed()信号,你可以查查,对于你所说的事件,目前似乎没有专门针对这个的(自己查了,但没发现)。 另一种就是自定义事件,那么就需要描述各种状态,展开时候与不展开时候、弹出与收回这几种情况,类似构建底层API,难度不是有点大。
suh_a 2016-06-13
  • 打赏
  • 举报
回复
引用 2 楼 u010111033 的回复:
要么你写在鼠标事件里面,因为你点击里面的index项后,下拉一般才会收起来;要么你就关联 int index=ui->comboBox->currentIndex();无论选index是哪个,都会执行你要做的事情
首先感谢你的回答。 第一个QDragLeaveEvent 所对应的QDragLeave 并不是comboBox的下拉关闭事件,它其实是拖拽的离开事件。第二个重新鼠标单击事件的方式,其实还有一种不点击index 点击comboBox旁边的空白也是可以收起下拉框的。所以这个也不可取的。
课程亮点       本课程是PySide6零基础入门与项目实战视频教程,经过精心设计,分为十个章节,制作了141页ppt, 接近70个代码示例,主要讲解PySide6开发环境安装、基础控件与界面布局、项目实战,PySide6程序打包,安装包制作,安装卸载、更新,发布等知识。涵盖从基础概念到高级应用的全方位知识,旨在为你提供一条清晰、系统的学习之路。无论你是编程新手,还是希望深化对PySide6的了解,本课程都能满足你的需求。       教学环境:Win11 64bit、Python3.11、PyCharm、Anacoda。课程大纲第一章:基础篇 PySide6开发环境安装        从Anaconda环境配置开始,带你快速入门Win11/win10下PySide6、PyQt5开发环境的安装与配置,分别介绍PyCharm与VSCode如何配置PySide6,  以及Python AnaConda的基本用法,创建虚拟环境,安装python模块。第二章 控件与布局篇 PySide6常用控件与界面布局使用介绍        深入PySide6中的常用控件与界面布局技巧,通过丰富的实例,掌握PySide6的窗口、布局、控件等核心内容。主要介绍QLabel、QPushButton、QLineEdit、QCheckBox、QComboBox、QTextEdit、QTextBrowser、QListView与QListWidget、QStackedWidget、QTabWidget、QTableView等控件以及水平垂直布局,弹簧控件,栅格布局,表单布局。第三章 信号槽与事件机制       解锁PySide6的信号槽机制和事件处理技能,让你的应用更加灵活。详细介绍Qt自定义信号槽,跨窗口传递信号;Qt鼠标事件,键盘事件,组合事件事件过滤。第四章 QMainWindow应用篇       详细介绍QMainWindow的使用,包括菜单栏、工具栏、状态栏和停靠窗口等。第五章 样式表qss与自定义控件        教你如何使用样式表美化应用界面,并创建独特的自定义控件。掌握这些技能后,学员将能够设计出既美观又功能丰富的用户界面。第六章 图表与曲线        引入pyqtgraph,展示如何在PySide6应用中绘制图表和动态曲线。第七章 数据库编程        带你进入数据库编程世界,使用sqlite3与PySide6结合,进行数据存储和管理。第八章 项目实战:高仿有道词典        通过一个高仿有道词典的项目,将所学知识融会贯通,实战演练。课程中将会接入翻译接口,开发一个属于自己的翻译软件。第九章 打包与部署       教你如何将PySide6项目打包成exe,并使用Inno Setup制作安装包,介绍软件更新、卸载策略,让你的应用轻松上线。第十章 课程总结        回顾整个课程的学习内容,巩固知识点,为进一步的学习和应用打下坚实的基础。教学特色       实战案例:每个章节都配备实战案例,让学习者在实践中深化理解。       代码资料全覆盖:提供全套课程代码资料下载,便于学习者随时查阅和复习。       高效学习路径:课程内容结构清晰,由浅入深,适合不同层次的学习者。       本课程提供全部代码与在线答疑。谁应该学习这个课程       对图形界面开发感兴趣的编程新手。       希望提升个人技能,进入或者深耕在GUI开发领域的开发者。       需要快速掌握PySide6进行项目开发的软件工程师。结语        通过本课程的学习,你不仅能掌握PySide6的核心技能,还能通过实战项目提升解决实际问题的能力,最终让你能独立完成专业的GUI应用开发。随着技术的深入,你将发现PySide6不仅仅是一个工具库,它开启的是一扇通往高效、美观应用开发的大门。        开始PySide6的学习之旅,让你的编程之路更加精彩!

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧