单个文件Qt4演示

时间:2009-09-01 09:56:17

标签: qt qt4 moc

有时您需要在Qt4中创建一个非常简单的单个文件应用程序。然而,这是有问题的,因为你总是在进行CPP / H分离,然后main()在另一个文件中......

如何在单个文件中执行此操作?尽可能快地弄脏。

2 个答案:

答案 0 :(得分:2)

这是一个示例,说明如何在单个文件中执行此操作。只需将它放在一个新目录中,保存为“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预处理QP定义的CPP文件。

答案 1 :(得分:1)

如果你需要构建一个快速原型,使用Python和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个文件。