Qt修炼手册2_动态设计
生活随笔
收集整理的這篇文章主要介紹了
Qt修炼手册2_动态设计
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.去掉UI功能,直接進(jìn)行設(shè)計
頭文件:DynamicDialog.h #ifndef DYNAMICDIALOG_H #define DYNAMICDIALOG_H#include <QtWidgets/QDialog> #include <qlabel.h> #include <qlineedit.h> #include <qpushbutton.h>class DynamicDialog : public QDialog {Q_OBJECTpublic:DynamicDialog(QWidget *parent = 0);~DynamicDialog(); private:QLabel *label1, *label2;QLineEdit *lineEdit;QPushButton *button; private slots:void showArea(); };#endif // DYNAMICDIALOG_H 源文件:DynamicDialog.cpp<span style="font-size:18px;">#include "dynamicdialog.h" #include <qgridlayout.h> const static double PI = 3.14159; DynamicDialog::DynamicDialog(QWidget *parent): QDialog(parent) {label1=new QLabel(this);label1->setText(tr("please input radius:"));lineEdit=new QLineEdit(this);label2=new QLabel(this);button=new QPushButton(this);button->setText(tr("Calculate Area"));QGridLayout *mainLayout=new QGridLayout(this);mainLayout->addWidget(label1,0,0);mainLayout->addWidget(lineEdit,0,1);mainLayout->addWidget(label2,1,0);mainLayout->addWidget(button,1,1);//connect(button,SIGNAL(clicked()),this,SLOT(showArea()));connect(lineEdit,SIGNAL(textChanged(QString)),this,SLOT(showArea()));}DynamicDialog::~DynamicDialog() {} void DynamicDialog::showArea() {bool ok;QString tempStr;QString valueStr = lineEdit->text();int valueInt = valueStr.toInt(&ok);double area = valueInt*valueInt*PI;label2->setText(tempStr.setNum(area)); }</span>
2.運(yùn)行結(jié)果
3.體會
如果之前一點(diǎn)都沒有接觸過UI設(shè)計,可以試試動態(tài)創(chuàng)建方法,否則,比較反感,開發(fā)周期長,很多動態(tài)創(chuàng)建完全沒有必要。總結(jié)
以上是生活随笔為你收集整理的Qt修炼手册2_动态设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 又是飞鸽传书软件
- 下一篇: PIC单片机入门_输入输出端口详解