pyqt4组合框中的下拉事件/回调

发布于 2024-11-29 01:01:08 字数 99 浏览 1 评论 0原文

pyqt4组合框中的下拉菜单有回调或事件吗?就像 self.connect(self.ui.combobox,SIGNAL("activated(int)"),self.refresh

is there a callback or event for dropdown in pyqt4 combo box? Just like self.connect(self.ui.combobox,SIGNAL("activated(int)"),self.refresh

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦纸 2024-12-06 01:01:08

QCombobox 使用 QAbstractItemView(默认为 QListView)来显示下拉项(可通过 访问view() 属性)。
我不知道有任何用于此目的的信号。

但是您可以设置一个 eventFilter 来使用 installEventFilter在组合框的视图上并实现 eventFilter 方法:

from PyQt4 import QtCore, QtGui
class ShowEventFilter(QtCore.QObject):
    def eventFilter(self, filteredObj, event):
        if event.type() == QtCore.QEvent.Show:
            print "Popup Showed !"
            # do whatever you want
        return QtCore.QObject.eventFilter(self, filteredObj, event)

if __name__ == '__main__':
    app = QtGui.QApplication([])
    cb = QtGui.QComboBox()
    cb.addItems(['a', 'b', 'c'])

    eventFilter = ShowEventFilter()
    cb.view().installEventFilter(eventFilter)
    cb.show()
    app.exec_()

The QCombobox uses a QAbstractItemView (QListView by default) to display the dropdown items (accessible via the view() property).
I am not aware of any signal for that purpose.

But you can set an eventFilter that will do the trick by using installEventFilter on the view of the combobox and implement the eventFilter method:

from PyQt4 import QtCore, QtGui
class ShowEventFilter(QtCore.QObject):
    def eventFilter(self, filteredObj, event):
        if event.type() == QtCore.QEvent.Show:
            print "Popup Showed !"
            # do whatever you want
        return QtCore.QObject.eventFilter(self, filteredObj, event)

if __name__ == '__main__':
    app = QtGui.QApplication([])
    cb = QtGui.QComboBox()
    cb.addItems(['a', 'b', 'c'])

    eventFilter = ShowEventFilter()
    cb.view().installEventFilter(eventFilter)
    cb.show()
    app.exec_()
落日海湾 2024-12-06 01:01:08

也许你可以尝试

customContextMenuRequested(const QPoint &pos) 

信号(继承自QWidget)?

Maybe you could try

customContextMenuRequested(const QPoint &pos) 

signal (inherited from QWidget)?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文