问题
I try to understand what PyQt does. And one of the first things I didn't, was:
QApplication(sys.argv)
Why do I have to give QApplication this argument? I know what sys.argv
does. But in my Scripts I wouldn't need it.
回答1:
This calls the constructor of the C++ class QApplication
. It uses sys.argv
(argc
and argv
in C++) to initialize the QT application. There are a bunch of arguments that you can pass to QT, like styles, debugging stuff and so on.
Take a look at this for a full list of the options.
回答2:
QApplication
takes a list of strings as input.
So you can forward sys.argv or simply an empty list:
app = QApplication([])
来源:https://stackoverflow.com/questions/27940378/why-do-i-need-sys-argv-to-start-a-qapplication-in-pyqt