一个简单的Qt项目,包含主函数、函数声明与实现。
Qt项目中的主要文件有:main.cpp,某某.pro,某某.cpp,某某.h
圆面积计算器函数解读
cal.pro
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = Dialog // 指定应用程序名
TEMPLATE = app // 告诉qmake为这个应用程序生成哪种makefile,app是建立一个应用程序的makefile,这是默认值
SOURCES += main.cpp\ // 工程包含的源文件
dialog.cpp
HEADERS += dialog.h // 工程包含的头文件
cal.h
// 用到哪些控件,就加入哪些类所在的头文件
class Dialog : public QDialog // 子类继承父类
{
Q_OBJECT // Qt5元对象的一些特性
public:
Dialog(QWidget *parent = 0); // 默认建立窗口
~Dialog();
private:
QLabel *label1,*label2; // 声明控件
QLineEdit *lineEdit;
QPushButton *button;
private slots:
void showArea(); // 声明槽函数,这里是显示圆的面积
};
// DIALOG_H
cal.cpp
const static double PI=3.1416; // 定义π为常量
Dialog::Dialog(QWidget *parent) // 构造函数
: QDialog(parent)
{
label1=new QLabel(this); // 控件属性设置
label1->setText(tr("请输入圆的半径:"));
lineEdit=new QLineEdit(this);
label2=new QLabel(this);
button=new QPushButton(this);
button->setText(tr("显示对应圆的面积"));
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())); // 连接信号与槽
}
Dialog::~Dialog() // 析构函数
{
}
void Dialog::showArea() // 显示函数定义
{
bool ok;
QString tempStr;
QString valueStr=lineEdit->text();
int valueInt=valueStr.toInt(&ok);
double area=valueInt*valueInt*PI; // 计算面积
label2->setText(tempStr.setNum(area));
}
main.cpp
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Dialog w;
w.show();
return a.exec();
}
显示界面