linux下QT5.7 create编程
经过几天的玩玩,摸索,感觉QT与MFc有些相似,都是对控件的操作,但感觉qt的操作更加简单,更加方便,但前提是对相应的QT版本有一个大概的理解,qt框架有一个大致的认知。感觉MFC编程更为复杂,学习qt须得对c++有一定的基础,至少能看得懂c++,对面向对象编程有深刻的理解。
QT5.7的安装与下载这种东西百度一大堆,通过相应的手册与入门书籍发现qt的gui功能已经集合在widgt里面,
以下是设计的一个gui程序,用到曹函数与信号等。
具体下过如下:
相应部分代码如下:
//signal_add.cpp
#include "signal_add.h"
#include "ui_signal_add.h"
signal_add::signal_add(QWidget *parent) ://信号函数,自动生成,
QMainWindow(parent),
ui(new Ui::signal_add)
{
ui->setupUi(this);
}
signal_add::~signal_add()
{
delete ui;
}
void signal_add::add() //此函数为槽函数,自定义的,自写,在开发界面特定处添加
{
QString str1,str2,strResult; //用于保存控件的值,获取控件的值
double add1=0.0,add2=0.0,result=0.0;
str1=ui->lineEdit1->toPlainText(); //获取编辑框1输入的数据
str2=ui->lineEdit2->toPlainText();//获取编辑框2输入的数据
bool ok1=false,ok2=true;//用于使把字符数据转换成双精度数据类型的标准位,控制位
add1=str1.toDouble(&ok1);
add2=str2.toDouble(&ok2);//字符转换成double型
if(1)
{
result=add1+add2; //数据相加
strResult.sprintf("%f",result);//把double型数据转换成字符数据输出
ui->textResult->setText(strResult);//输出数据到特定控件中
}
}
//signal_add.h
#ifndef SIGNAL_ADD_H
#define SIGNAL_ADD_H
#include <QMainWindow>
namespace Ui {
class signal_add;
}
class signal_add : public QMainWindow
{
Q_OBJECT
public:
explicit signal_add(QWidget *parent = 0);
~signal_add();
signals://信号的添加
private:
Ui::signal_add *ui;//声明对象为ui,可以修改,但其他的也必须修改,此为自定义的
private slots://槽函数声明时需要用slots
void add();//自声明的槽函数,记得注意权限,是否会被其子类访问
};
#endif // SIGNAL_ADD_H
//退出应用程序时的exit控件是已经集合在相应的源码里,只需添加即可,不用编写代码。