문제

때로는 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"

이 데모의 두 가지 트릭 :

  1. 먼저 "qmake -project"를 호출하여 현재 디렉토리의 파일이 자동으로 *.pro 파일을 작성하는 방법입니다. 기본적으로 대상 이름은 디렉토리의 이름이므로 현명하게 선택하십시오.
  2. 두 번째는 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 파일.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top