首页 > 技术文章 > QT_day02

lican0319 2019-05-04 09:47 原文

使用g++编译:

一. 改变值

  QSlider  滑块类

    void valueChanged(int value);

  QSpinBox   微调框类

    void setValue(int val);

    槽函数如果不做连接使用,就是一个普通的成员函数。

  带参的信号和槽没有默认值时,需要在连接时指定参数的类型。

changevalue.cpp

二. 加法器

  2.1 version 1

  在main函数中

  2.2 version 2

  使用C++方式(类)来组织代码

  ① 让类继承父窗口的类型

   当前类 充当父窗口类型,做到类的可视化

  ② 截面中的组件 都作为这个类的成员变量

  ③ 类的头文件和实现文件分离

  ④ 如果类中有自定义的信号和槽,则需要在头文件中出现一个宏Q_OBJECT(非常重要)

  注:如果忘记加Q_OBJECT后,加上后需要删除之前编译产生的文件,重新编译即可。

三. 显示时间

  

  先让clicked()和一个无参的自定义槽函数绑定,在槽函数中发射 自定义信号, 自定义函数再和最终的setText(QString) 绑定。(线程中的数据可以通过自定义信号带出来)

  QTimer  定时器类,可以定时发出timeout()信号。

五. 设计器的使用

  加速界面的开发

  鼠标改变组件的位置和大小。

  方向键可以改变组件的位置,ctrl+方向键 可以微调。属性框可以调节具体的位置和大小。

  shift+方向键 可以调整组件大小

  Ctrl+shift+方向键,可以微调大小。

  属性编辑器:可以改变组件的相关属性

  对象查看器:查看对象之间的组织关系,对象名和对象关系

六. 如何使用ui文件

  1. 把ui文件转换成.h文件:  uic   **.ui  -o  **.h

  2. 定义自己的头文件来使用生成.h文件 (jfq.h)

  3.写实现文件

    创建界面  加载界面

    访问界面数据使用ui即可

  头文件adder.cpp

 1 #ifndef ADDER_H
 2 #define ADDER_H
 3 #include "jfq.h"
 4 #include <QDialog>
 5 class Adder: public QDialog{
 6     Q_OBJECT
 7 //定义一个界面指针
 8 private:
 9     Ui_Dialog *ui;
10 public:
11     Adder();
12 //完成计算得槽函数
13 public slots:
14     void getRes();
15 };
16 
17 #endif

 

 实现文件 adder.cpp

 1 #include "adder.h"
 2 
 3 Adder::Adder():ui(new Ui_Dialog())
 4 {
 5     //ui = new Ui_Dialog();
 6     ui->setupUi(this);
 7     //访问界面相关的数据通过ui即可
 8     connect(ui->equ, SIGNAL(clicked()), this, SLOT(getRes()));
 9 }
10 
11 void Adder::getRes()
12 {
13     ui->res->setText(QString::number(ui->add->text().toDouble() + ui->added->text().toDouble()));
14 }

 

  4. 写测试文件

  testadder.cpp

 1 #include <QApplication>
 2 #include "adder.h"
 3 
 4 int main(int argc, char** argv)
 5 {
 6     QApplication app(argc, argv);
 7     Adder adder;
 8     adder.show();
 9     
10     return app.exec();
11 }

 

推荐阅读