安卓qpython总是崩溃_Python3 PyQt5设置为启用导致崩溃的QAction

对于一个项目,我使用python3和PyQt5创建一个GUI。因为它必须由我的直接团队以外的人使用,所以我想禁用菜单上的操作,直到他们已经在程序的其他部分填写了一些表单(例如,当他们没有设置初始数据连接时,禁用最终解决方案视图)。问题是,当我试图在创建QAction的函数之外(但仍在整个类内部)调用QAction的setEnabled函数时,会导致脚本崩溃,没有错误代码,因此我很难理解这个问题。在下面的snipit中,我试图将“视图解决方案”菜单选项设置为true。菜单里还有一些选项,但我把它们删掉了,这样更容易阅读。在

代码的结构如下:import sys

from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication, QMessageBox, QStackedLayout

class MediaPlanner(QMainWindow):

def __init__(self):

super().__init__()

self.initUI()

def initUI(self):

# Menu bar example from: zetcode.com/gui/pyqt5/

exitAction = QAction('&Exit', self)

exitAction.setShortcut('Ctrl+Q')

exitAction.setStatusTip('Exit application')

exitAction.triggered.connect(self.close)

newProject = QAction('&New Project', self)

newProject.setShortcut('Ctrl+N')

newProject.setStatusTip('Start A New Project')

newProject.triggered.connect(self.createNewProject)

openProject = QAction('&Open Project',self)

openProject.setShortcut('Ctrl+O')

openProject.setStatusTip('Open A Saved Project')

openProject.setEnabled(False)

viewSolution = QAction('&View Solution',self)

viewSolution.setStatusTip('View the Current Solution (If Built)')

viewSolution.setEnabled(False)

self.statusBar()

menubar = self.menuBar()

filemenu = menubar.addMenu('&File')

filemenu.addAction(newProject)

filemenu.addAction(openProject)

filemenu.addAction(exitAction)

viewmenu = menubar.addMenu('&View')

viewmenu.addAction(viewSolution)

self.setGeometry(300,300,700,300)

self.setWindowTitle('Menubar')

self.show()

def createNewProject(self):

print('Project Created')

self.viewSolution.setEnabled(True)

if __name__ == '__main__':

app = QApplication(sys.argv)

gui = MediaPlanner()

sys.exit(app.exec_())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值