昨日はQTを始めて使いました。楽しい感じがしました。MFCより、QTのほどが易しそうです。
虽然说,对QT有了初步了解,但是有许多问题还没搞清楚,列个清单
1:何谓 交叉编译
2:qmake -project qmake make 到底为何物。
3:QT的发展历史
記念するので、下記は私の始めのQTアプリケーション。
#ifndef DIGITALCLOCK_H #define DIGITALCLOCK_H #include <QDialog> class QLabel; class QLineEdit; class QPushButton; class DigitalClock : public QDialog { Q_OBJECT public: DigitalClock(QWidget *parent = 0); private slots: void Start(); void Reset(); private: QLabel *label_A; QLabel *label_B; QLabel *label_Amis; QLabel *label_Bmis; QLabel *label_Speed; QLineEdit *lineEdit_A; QLineEdit *lineEdit_B; QLineEdit *lineEdit_Amis; QLineEdit *lineEdit_Bmis; QLineEdit *lineEdit_Speed; QPushButton *pushButton_Start; QPushButton *pushButton_Reset; }; #endif
#include <QtGui> #include "DigitalClock.h" DigitalClock::DigitalClock(QWidget *parent) : QDialog(parent) { label_A = new QLabel(tr("Position A")); lineEdit_A = new QLineEdit(tr("12.0")); label_A->setBuddy(lineEdit_A); label_B = new QLabel(tr("Position B")); lineEdit_B = new QLineEdit(tr("12.0")); label_B->setBuddy(lineEdit_B); label_Amis = new QLabel(tr("Partial volume A")); lineEdit_Amis = new QLineEdit(tr("0")); label_Amis->setBuddy(lineEdit_Amis); label_Bmis = new QLabel(tr("Partial volume B")); lineEdit_Bmis = new QLineEdit(tr("0")); label_Bmis->setBuddy(lineEdit_Bmis); label_Speed = new QLabel(tr("Rotate Speed")); lineEdit_Speed = new QLineEdit(tr("2.19")); label_Speed->setBuddy(lineEdit_Speed); pushButton_Start = new QPushButton(tr("Start")); pushButton_Reset = new QPushButton(tr("Reset")); connect(pushButton_Start, SIGNAL(clicked()), this, SLOT(Start())); connect(pushButton_Reset, SIGNAL(clicked()), this, SLOT(Reset())); QVBoxLayout *leftLayout = new QVBoxLayout; leftLayout->addWidget(label_A); leftLayout->addWidget(lineEdit_A); leftLayout->addWidget(label_Amis); leftLayout->addWidget(lineEdit_Amis); QVBoxLayout* middleLayout = new QVBoxLayout; middleLayout->addWidget(label_Speed); middleLayout->addWidget(lineEdit_Speed); middleLayout->addWidget(pushButton_Start); middleLayout->addWidget(pushButton_Reset); QVBoxLayout* rightLayout = new QVBoxLayout; rightLayout->addWidget(label_B); rightLayout->addWidget(lineEdit_B); rightLayout->addWidget(label_Bmis); rightLayout->addWidget(lineEdit_Bmis); QHBoxLayout* mainLayout = new QHBoxLayout; mainLayout->addLayout(leftLayout); mainLayout->addLayout(middleLayout); mainLayout->addLayout(rightLayout); setLayout(mainLayout); setWindowTitle(tr("Find")); setFixedHeight(sizeHint().height()); } void DigitalClock::Start() { srand(time(NULL)); float fA = rand() % 120 / 10; float fB = rand() % 120 / 10; int iAmis = rand() % 30 + 70; int iBmis = rand() % 30 + 70; QString str = QString("%1").arg(iAmis); lineEdit_Amis->setText(str); str.sprintf("%d", iBmis); lineEdit_Bmis->setText(str); str.sprintf("%0.1f", fA); lineEdit_A->setText(str); str.sprintf("%0.1f", fB); lineEdit_B->setText(str); } void DigitalClock::Reset() { lineEdit_A->setText(tr("12.0")); lineEdit_B->setText(tr("12.0")); lineEdit_Speed->setText(tr("0.00")); lineEdit_Amis->setText(tr("0")); lineEdit_Bmis->setText(tr("0")); }
#include <QApplication> #include "DigitalClock.h" int main(int argc, char** argv) { QApplication app(argc, argv); DigitalClock *dialog = new DigitalClock; dialog->show(); return app.exec(); }
結果の図は以下です。
2824

被折叠的 条评论
为什么被折叠?



