سؤال

في بعض الأحيان تحتاج إلى إنشاء ملف جداً تطبيق ملف واحد بسيط في 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. ثانيًا ، هو #include *.moc في ملف CPP ، أن تطلب من MOC المعالجة المسبقة لملفات CPP لتعريفات QOBject.

نصائح أخرى

إذا كنت بحاجة إلى إنشاء نموذج أولي سريع ، باستخدام 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 الملفات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top