QApplication: неверный аргумент Display * - PullRequest
1 голос
/ 09 июля 2019

После этого урока:

https://bitesofcode.blogspot.com/2011/10/nexsys-building-full-application.html

После запуска этого кода открывается окно, но появляется сообщение об ошибке, и приложение не может быть закрыто должным образом, т.е.Выход из него - выйти из терминала.Следующий код - единственное отличие - это shebang, так как я использую python3, поэтому используйте этот shebang.Я работаю с Qt4 уже пару недель и раньше не сталкивался с этой проблемой, но только сейчас узнаю, как убедиться, что запущен только один экземпляр QApplication и т. Д. Поэтому в коде должно быть что-то, чтовызывает проблему.К сожалению, я не нашел никакой информации о том, что такое аргумент отображения.Любая помощь будет высоко ценится.

#!/usr/bin/python3 

""" Main entry point to the nexsys application. """

# define authorship information
__authors__     = ['Eric Hulser']
__author__      = ','.join(__authors__)
__credits__     = []
__copyright__   = 'Copyright (c) 2011'
__license__     = 'GPL'

# maintanence information
__maintainer__  = 'Eric Hulser'
__email__       = 'eric.hulser@gmail.com'

from PyQt4 import QtGui

def main(argv = None):
   """
   Creates the main window for the nexsys application and begins the \
   QApplication if necessary.

   :param      argv | [, ..] || None

   :return      error code
   """
   app = None

   # create the application if necessary
   if ( not QtGui.QApplication.instance() ):
       app = QtGui.QApplication(argv)
       app.setStyle('plastique')

   # create the main window
   QtGui.QMessageBox.information(None, 'Stub', 'Create the Main Window!')

   # run the application if necessary
   if ( app ):
       return app.exec_()

   # no errors since we're not running our own event loop
   return 0

if ( __name__ == '__main__' ):
   import sys
   sys.exit(main(sys.argv))
...