В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Боюсь, что одного файла недостаточно в этой ситуации - поток выполнения не ясен только из этого одного модуля. Обычно это сообщение появляется, когда вы пытаетесь использовать некоторые ресурсы / создавать некоторые объекты, для которых, например, требуется инициализированный QApplication - например, QIcon.
Мгновенное создание приложения с графическим интерфейсом на основе Qt обычно выглядит так:
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
main_window = MainWindowClass()
main_window.show()
sys.exit(app.exec_())
Сообщение об ошибке довольно ясно: вы пытаетесь нарисовать QWidget
(который в PyQt4.5
наследует QPaintDevice
и QObject
), прежде чем вы создадите экземпляр QApplication
. Но ваш код слишком велик для чтения по строкам. Попытайтесь изолировать ошибку, создавая небольшое приложение и добавляя функциональность шаг за шагом. Или используйте отладчик (предполагается, что IDE, такие как Eclipse
+ PyDev
, могут отлаживать ваше приложение). Или предоставим нам небольшой, самодостаточный пример проблемы.