문제
때로는 a를 만들어야합니다 매우 QT4의 간단한 단일 파일 응용 프로그램. 그러나 항상 CPP/H 분리를하고 있기 때문에 문제가되고 Main ()은 다른 파일에 있습니다 ...
단일 파일 로이 작업을 수행하는 방법이 있습니까? 가능한 한 더러워집니다.
해결책
이것은 단일 파일 에서이 작업을 수행하는 방법을 보여주는 예입니다. 새 디렉토리에 이것을 던지고 "main.cpp"로 저장 한 다음 실행하십시오. qmake -project; qmake; make
컴파일하기.
#include <QtGui/QApplication>
#include <QtGui/QMainWindow>
#include <QtGui/QPushButton>
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0){
button = new QPushButton("Hello, world!", this);
}
private:
QPushButton *button;
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
#include "main.moc"
이 데모의 두 가지 트릭 :
- 먼저 "qmake -project"를 호출하여 현재 디렉토리의 파일이 자동으로 *.pro 파일을 작성하는 방법입니다. 기본적으로 대상 이름은 디렉토리의 이름이므로 현명하게 선택하십시오.
- 두 번째는 cpp 파일의 #include *.moc입니다. MOC에 Qobject 정의에 대한 CPP 파일을 전처리하도록 요청하십시오.
다른 팁
파이썬을 사용하여 빠른 프로토 타입을 구축 해야하는 경우 PYQT4 훨씬 더 컴팩트합니다.
import sys
from PyQt4.QtGui import *
class MainWindow(QMainWindow):
def __init__(self, parent=None):
QMainWindow.__init__(self, parent)
self.button = QPushButton("Hello, world!", self)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec_())
전화 할 필요가 없습니다 qmake
또는 귀찮게합니다 .moc
파일.
제휴하지 않습니다 StackOverflow