PyQt5: Gtk-CRITICAL **: IA__gtk_widget_style_get: 断言 'GTK_IS_WIDGET (widget)' 失败
PyQt5: Gtk-CRITICAL **: IA__gtk_widget_style_get: assertion 'GTK_IS_WIDGET (widget)' failed
我在使用 PyQt5 时遇到了这个错误,而且我认为只有在使用 QTextEdit 时才会遇到这个错误。我尝试使用 QLineEdit 代替 QTextEdit 并且它没有问题。当我打开程序时使用 QTextEdit 我收到该错误并且程序运行速度非常慢。错误:(python:4843): Gtk-CRITICAL **: IA__gtk_widget_style_get: assertion 'GTK_IS_WIDGET (widget)' failed
import sys
from PyQt5.QtWidgets import (QWidget, QLabel, QLineEdit,
QTextEdit, QGridLayout, QApplication)
class Example(QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
title = QLabel('Title')
author = QLabel('Author')
review = QLabel('Review')
titleEdit = QLineEdit()
authorEdit = QLineEdit()
reviewEdit = QTextEdit()
grid = QGridLayout()
grid.setSpacing(10)
grid.addWidget(title, 1, 0)
grid.addWidget(titleEdit, 1, 1)
grid.addWidget(author, 2, 0)
grid.addWidget(authorEdit, 2, 1)
grid.addWidget(review, 3, 0)
grid.addWidget(reviewEdit, 3, 1, 5, 1)
self.setLayout(grid)
self.setGeometry(300, 300, 350, 300)
self.setWindowTitle('Review')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
我找到了解决这个问题的方法。更改应用程序的样式
没有显示错误,一切正常。
更正代码:
if __name__ == '__main__':
app = QApplication(sys.argv)
app.setStyle("fusion") #Changing the style
ex = Example()
sys.exit(app.exec_())
更多关于样式的信息:http://doc.qt.io/qt-5/gallery.html
我在使用 PyQt5 时遇到了这个错误,而且我认为只有在使用 QTextEdit 时才会遇到这个错误。我尝试使用 QLineEdit 代替 QTextEdit 并且它没有问题。当我打开程序时使用 QTextEdit 我收到该错误并且程序运行速度非常慢。错误:(python:4843): Gtk-CRITICAL **: IA__gtk_widget_style_get: assertion 'GTK_IS_WIDGET (widget)' failed
import sys
from PyQt5.QtWidgets import (QWidget, QLabel, QLineEdit,
QTextEdit, QGridLayout, QApplication)
class Example(QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
title = QLabel('Title')
author = QLabel('Author')
review = QLabel('Review')
titleEdit = QLineEdit()
authorEdit = QLineEdit()
reviewEdit = QTextEdit()
grid = QGridLayout()
grid.setSpacing(10)
grid.addWidget(title, 1, 0)
grid.addWidget(titleEdit, 1, 1)
grid.addWidget(author, 2, 0)
grid.addWidget(authorEdit, 2, 1)
grid.addWidget(review, 3, 0)
grid.addWidget(reviewEdit, 3, 1, 5, 1)
self.setLayout(grid)
self.setGeometry(300, 300, 350, 300)
self.setWindowTitle('Review')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
我找到了解决这个问题的方法。更改应用程序的样式 没有显示错误,一切正常。
更正代码:
if __name__ == '__main__':
app = QApplication(sys.argv)
app.setStyle("fusion") #Changing the style
ex = Example()
sys.exit(app.exec_())
更多关于样式的信息:http://doc.qt.io/qt-5/gallery.html