2016-02-11 14 views
5

Ich bekomme diesen Fehler mit PyQt5, und ich denke, ich bekomme diesen Fehler nur, wenn ich QTextEdit benutze. Ich habe versucht QLineEdit anstelle von QTextEdit zu verwenden und es funktionierte ohne Probleme. Mit QTextEdit, wenn ich das Programm öffne, erhalte ich diesen Fehler und das Programm läuft sehr langsam. Fehler: (python:4843): Gtk-CRITICAL **: IA__gtk_widget_style_get: assertion 'GTK_IS_WIDGET (widget)' failedPyQt5: Gtk-KRITISCH **: IA__gtk_widget_style_get: Assertion 'GTK_IS_WIDGET (Widget)' fehlgeschlagen

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_()) 

Antwort

6

Ich habe eine Lösung für dieses Problem gefunden. Ändern des Stils der Anwendung zeigte den Fehler nicht und alles funktionierte ordnungsgemäß.

Corrected Code:

if __name__ == '__main__': 

    app = QApplication(sys.argv) 
    app.setStyle("fusion") #Changing the style 
    ex = Example() 
    sys.exit(app.exec_()) 

Mehr über Arten hier: http://doc.qt.io/qt-5/gallery.html

+0

ich große Anzahl von Gtk-KRITISCH bekam, wenn sie von ipython3 sehr einfach PyQt4 Testanwendung ausgeführt wird, die ohne Fehler fein läuft unter eigenständiges Python3. Durch das Hinzufügen von app.setStyle ("fusion") wurden alle diese Fehler unter ipython3 entfernt. Danke für den Tipp. – vleo

Verwandte Themen