gpt4 book ai didi

python - 添加 QTextEdit 小部件作为中央小部件使主窗口不弹出,并且 showMaximize 导致计算机崩溃?

转载 作者:行者123 更新时间:2023-12-04 19:17:08 28 4
gpt4 key购买 nike

我有以下骨架代码:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QToolTip, QMainWindow, QTextEdit
from PyQt5.QtGui import QIcon, QFont
from PyQt5.QtCore import Qt


class Editor(QMainWindow):

def __init__(self, parent=None):
QMainWindow.__init__(self, parent)

self.initUI()

# --------------------------------------

def initMenubar(self):

menubar = self.menuBar()

fileMenuBtn = menubar.addMenu("File")
editMenuBtn = menubar.addMenu("Edit")
viewMenuBtn = menubar.addMenu("View")

# --------------------------------------
def initToolbars(self):

self.toolbar = self.addToolBar("Options")
# Makes the next toolbar appear underneath this one
self.addToolBarBreak()
self.formatbar = self.addToolBar("Format")

# --------------------------------------
def initUI(self):
QToolTip.setFont(QFont('Monospace', 10))

self.setToolTip('<b>Proofor</b> main window')

#self.text = QTextEdit(self)
#self.setCentralWidget(self.text)


# Initialize a statusbar for the window
self.statusbar = self.statusBar()

self.initToolbars()
self.initMenubar()

self.setWindowTitle('Proofor - proof editor')
#self.setWindowIcon(QIcon('dots.png'))

#self.setGeometry(100, 100, 500, 500)

# ================================================

def main():

app = QApplication(sys.argv)
main = Editor()
main.show()
sys.exit(app.exec_())

if __name__ == '__main__':
main()

如果按原样运行此代码( python editor.py ),则一切正常。但是,如果我取消注释添加 QTextEdit 的行小部件,位于 initUI ,我收到以下警告:
(python:1949): Gtk-CRITICAL **: IA__gtk_widget_style_get: assertion 'GTK_IS_WIDGET (widget)' failed
QWidget::setMinimumSize: (/Editor) The largest allowed size is (16777215,16777215)

否则会弹出的窗口不会弹出,但我仍然可以关闭应用程序。相反,如果在 main我有 main.showMaximized()而不是 main.show() ,我导致我的电脑崩溃。如果我没有 QTextEdit,则不会发生这种情况小部件设置为中央小部件,否则会出现一个正常的最大化窗口。

关于发生了什么的任何想法?

为后代编辑:问题发生在我的 Anaconda Python 发行版中,我安装了与 native pyqt4 冲突的 pyqt5。

最佳答案

在 python 3.4、pyqt5、ubuntu 14.04 下,您的代码运行良好。
这似乎是您安装的默认样式的问题

尝试通过运行代码来更改样式,例如

python editor.py -style windows

Qt-Docs QStyle

您可以通过以下方式找到可用的样式
print(QStyleFactory.keys())

从 QtWidgets 导入 QStyleFactory 后

关于python - 添加 QTextEdit 小部件作为中央小部件使主窗口不弹出,并且 showMaximize 导致计算机崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34244849/

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