mã sau nên tạo widget QGraphicsView công ty sở hữu một QGraphicsScene có văn bản bên trong của nó:Đây có phải là lỗi python PyQt 4 hoặc mã hoạt động sai không?
#!/usr/bin/python
import sys
from PyQt4.QtGui import *
if __name__ == '__main__':
app = QApplication(sys.argv)
view = QGraphicsView()
scene = QGraphicsScene()
scene.addText("Hello!")
view.setScene(scene)
view.show();
sys.exit(app.exec_())
này mở ra cửa sổ, đặt các văn bản đó, nhưng sau khi tôi đóng cửa sổ - python bãi lõi và một số vấn đề được in ra:
(python:5387): Gtk-CRITICAL **: IA__gtk_container_add: assertion `GTK_IS_CONTAINER (container)' failed
(python:5387): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
...clip...
... above message is shown many, many times ...
...clip...
(python:5387): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
Segmentation fault (core dumped)
phiên bản: python2.7 2.7.3-0ubuntu3.1 python-qt4 4.9.1-2ubuntu1
Đặt 'view' là cha mẹ của' scene' là cách tốt nhất để làm điều đó, IMO. ;-) – Peque
LOL cũng được thực hiện, di chuyển mọi thứ vào một phương thức 'main()' riêng biệt và trả về 'exec _()' đã loại bỏ "segfault" của tôi – sjm324