首页 > 其他分享 >[QT]初识

[QT]初识

时间:2023-01-04 14:33:39浏览次数:42  
标签:QT tr label 初识 addWidget new lineEdit QLabel


    昨日は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();
}


結果の図は以下です。

 

[QT]初识_mfc

标签:QT,tr,label,初识,addWidget,new,lineEdit,QLabel
From: https://blog.51cto.com/u_15929756/5988620

相关文章