Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 菜单栏被帧禁用_Python 3.x_Pyqt5 - Fatal编程技术网

Python 3.x 菜单栏被帧禁用

Python 3.x 菜单栏被帧禁用,python-3.x,pyqt5,Python 3.x,Pyqt5,试着自学PyQt5,所以我猜我只是没有在其中添加一些东西。但我目前在窗口顶部有一个菜单栏,我想在下面添加一个框架,但这样做会使菜单栏无法访问。没有框架,菜单栏就可以正常工作。我该如何解决这个问题 #!/usr/bin/python3.6 from PyQt5.QtWidgets import (QMainWindow, QApplication, QFrame, QAction, qApp, QStackedWidget, QWidget, QListWidget, QVBoxLayout)

试着自学PyQt5,所以我猜我只是没有在其中添加一些东西。但我目前在窗口顶部有一个菜单栏,我想在下面添加一个框架,但这样做会使菜单栏无法访问。没有框架,菜单栏就可以正常工作。我该如何解决这个问题

#!/usr/bin/python3.6

from PyQt5.QtWidgets import (QMainWindow, QApplication, QFrame, QAction, qApp, QStackedWidget, QWidget, QListWidget, QVBoxLayout)
from PyQt5.QtGui import QIcon
import sys


class CharManMain(QMainWindow):

   def __init__(self):
       super().__init__()

       self.initUI()


   def initUI(self):
       '''initiates application UI'''

       exitAct = QAction('&Exit', self)
       exitAct.setShortcut('Ctrl+Q')
       exitAct.setStatusTip('Exit Application')
       exitAct.triggered.connect(qApp.quit)

       newAct = QAction('&New', self)
       newAct.setShortcut('Ctrl+N')
       newAct.setStatusTip('Create a New character')

       openAct = QAction('&Open', self)
       openAct.setShortcut('Ctrl+O')
       openAct.setStatusTip('Open a saved character')

       statusbar = self.statusBar()

       menubar = self.menuBar()
       fileMenu = menubar.addMenu('&File')
       characterMenu = menubar.addMenu('Characters')

       fileMenu.addAction(newAct)
       fileMenu.addAction(openAct)
       fileMenu.addAction(exitAct)

       baseFrame = QFrame(self)

       vbox = QVBoxLayout()
       vbox.addWidget(menubar)
       vbox.addWidget(baseFrame)
       vbox.addWidget(statusbar)

       self.setLayout(vbox)     

       self.setWindowTitle('Character Manager v0.01')
       self.show()

if __name__ == '__main__':

   app = QApplication(sys.argv)
   charMain = CharManMain()
   sys.exit(app.exec_())

QMainWindow.setCentralWidget(小部件)

将给定小部件设置为主窗口的中心小部件

import sys
from PyQt5.QtWidgets import (QMainWindow, QApplication, QFrame, QAction, qApp, 
                             QStackedWidget, QWidget, QListWidget, QVBoxLayout)
from PyQt5.QtGui import QIcon


class CharManMain(QMainWindow):  

   def __init__(self):
       super().__init__()

       self.initUI()


   def initUI(self):
       '''initiates application UI'''

       exitAct = QAction('&Exit', self)
       exitAct.setShortcut('Ctrl+Q')
       exitAct.setStatusTip('Exit Application')
       exitAct.triggered.connect(qApp.quit)

       newAct = QAction('&New', self)
       newAct.setShortcut('Ctrl+N')
       newAct.setStatusTip('Create a New character')

       openAct = QAction('&Open', self)
       openAct.setShortcut('Ctrl+O')
       openAct.setStatusTip('Open a saved character')

       statusbar = self.statusBar()

       menubar = self.menuBar()
       fileMenu = menubar.addMenu('&File')
       characterMenu = menubar.addMenu('Characters')

       fileMenu.addAction(newAct)
       fileMenu.addAction(openAct)
       fileMenu.addAction(exitAct)

       baseFrame = QFrame()                # --- (self)
       self.setCentralWidget(baseFrame)    # +++         <-----

       ### ---
       #vbox = QVBoxLayout()
       #vbox.addWidget(menubar)
       #vbox.addWidget(baseFrame)
       #vbox.addWidget(statusbar)
       #self.setLayout(vbox)     

       self.setWindowTitle('Character Manager v0.01')
       self.show()

if __name__ == '__main__':

   app = QApplication(sys.argv)
   charMain = CharManMain()
   sys.exit(app.exec_())
导入系统 从PyQt5.QtWidgets导入(QMainWindow、QApplication、QFrame、QAction、qApp、, QStackedWidget、QWidget、QListWidget、QVBoxLayout) 从PyQt5.QtGui导入QIcon 类CharManMain(QMainWindow): 定义初始化(自): super()。\uuuu init\uuuuu() self.initUI() def initUI(self): ''启动应用程序UI'' exitAct=QAction('退出',自我) exitAct.setShortcut('Ctrl+Q') exitAct.setStatusIP('退出应用程序') exitAct.triggered.connect(qApp.quit) newAct=QAction('New',self) newAct.setShortcut('Ctrl+N') newAct.setStatusIP('创建新字符') openAct=QAction(“&Open”,self) openAct.setShortcut('Ctrl+O') openAct.setStatusIP('打开保存的字符') statusbar=self.statusbar() menubar=self.menubar() fileMenu=menubar.addMenu(“&File”) characterMenu=menubar.addMenu('Characters') fileMenu.addAction(newAct) fileMenu.addAction(openAct) fileMenu.addAction(exitAct) baseFrame=QFrame()#--(self)
self.setCentralWidget(baseFrame)#+++我觉得这很简单。非常感谢。