Qt or PyQt ?
I’ve been playing with Qt4 today, the main C++ version, not the PyQt3 Python wrapper I’ve used before.
I’ve noticed that the code is very similar, pretty much the same number of lines of code for a “Hello World!” windowed application. I had my suspicions before, as the PyQt syntax doesn’t seem very Pythonic.
It doesn’t really bode well for Python as a rapid application development environment for Qt programs if you can do the same in C++ without the extra overhead of an interpreter, with the same amount of effort (if you use QtDesigner, there’s probably even less difference). The only reasons I can see the point of using PyQt is less recompiling whilst testing, and if you want a built-in scripting shell.
Python Qt3:
#!/bin/env python
import sys
from qt import *
app = QApplication(sys.argv)
mainwindow = QMainWindow()
button = QPushButton("Quit", mainwindow)
app.connect(button, SIGNAL("clicked()"), app, SLOT("quit()"))
mainwindow.show()
app.exec_loop()
C++ Qt4:
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton *button = new QPushButton("Quit");
QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit()));
button->show();
return app.exec();
}