【问题标题】:PyQt5: Gtk-CRITICAL **: IA__gtk_widget_style_get: assertion 'GTK_IS_WIDGET (widget)' failedPyQt5:Gtk-CRITICAL **:IA__gtk_widget_style_get:断言“GTK_IS_WIDGET(小部件)”失败
【发布时间】:2016-05-22 22:03:50
【问题描述】:

我在使用 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_())

【问题讨论】:

    标签: python qt pyqt qt5 pyqt5


    【解决方案1】:

    我找到了解决这个问题的方法。更改应用程序的样式 没有显示错误,一切正常。

    更正的代码:

    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

    【讨论】:

    • 当我从 ipython3 运行非常简单的 PyQt4 测试应用程序时,我得到了大量的 Gtk-CRITICAL,它在独立的 python3 下运行良好,没有错误。添加 app.setStyle("fusion") 也消除了 ipython3 下的所有这些错误。谢谢你的提示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    相关资源
    最近更新 更多