gpt4 book ai didi

python - PyQT QPushButton.setMenu?如何让它发挥作用?

转载 作者:行者123 更新时间:2023-11-28 20:27:56 25 4
gpt4 key购买 nike

我只是 PyQT 的初学者。我不确定我的帖子标题是否适合我的问题。

我在 Qpushbutton 上创建弹出菜单时遇到问题。基于 QT docs 的文档

我需要制作一个QPushButton.setMenu(自己,QMenu 菜单)

但我真的不知道从哪里开始..我找不到关于如何使用它的示例。请帮我做一个。

最佳答案

基本思想是您首先必须创建一个QMenu,然后使用setMenu 方法将其附加到您的按钮。如果您查看 QMenu documentation ,您会看到有一个名为 addAction 的方法,它将向新创建的 QMenu 添加菜单项。 addAction 是重载的,所以有很多不同的方法来调用它。您可以在菜单中使用图标,指定键盘快捷键和其他内容。不过,为了简单起见,我们只添加一个菜单项,并为其提供一个方法,以便在该项目被选中时调用。

from PyQt4 import QtGui, QtCore
import sys


class Main(QtGui.QMainWindow):
def __init__(self, parent=None):
super(Main, self).__init__(parent)
pushbutton = QtGui.QPushButton('Popup Button')
menu = QtGui.QMenu()
menu.addAction('This is Action 1', self.Action1)
menu.addAction('This is Action 2', self.Action2)
pushbutton.setMenu(menu)
self.setCentralWidget(pushbutton)

def Action1(self):
print 'You selected Action 1'

def Action2(self):
print 'You selected Action 2'


if __name__ == '__main__':

app = QtGui.QApplication(sys.argv)
main = Main()
main.show()
app.exec_()

这里我们创建了一个按钮(创造性地命名为pushbutton)。然后,我们使用 QtGui.QMenu() 创建一个菜单(再次创造性地命名为 menu)。这些操作是通过调用 addAction 并为其提供一个将用作菜单项文本的字符串和一个方法(self.Action1 或 self.Action2)创建的,如果该菜单项被选中,将调用该方法.然后我们调用pushbuttonsetMenu 方法将我们的菜单分配给它。当您运行它并选择一个项目时,您应该会看到与所选项目对应的打印文本。

这是基本的想法。可以通过QMenu docs查看更好地了解 QMenu 的功能。

关于python - PyQT QPushButton.setMenu?如何让它发挥作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6893923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com