Qt界面编程基本操作

Qt界面编程基本操作

了解基本代码构成

类widget的头文件widget.h如下:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QDebug>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{   //信号与槽相关宏
    Q_OBJECT

public:
    //构造且使用explicit(显式)方式进行, parent = 0表示不指定父对象.
    explicit Widget(QWidget *parent = 0);
    ~Widget();

private slots:
    //槽函数
    void on_pushButton_clicked();
    void on_pushButton_2_clicked();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

常用基础知识

查看帮助

  • 光标放到对应单词上, 点击F1, 即可进入对应单词的帮助.
  • Qt左边导航菜单进入帮助.
  • /Qt/Qt5.x/5.x/mingwxxx_xx/bin/assistant.exe

添加C++11支持

  • CONFIG += C++11

指定父对象的两种方式

  • 一种通过对象的setParent属性
  • 一种是构造对象时通过构造函数传参QPushButton(QWidget *p);
  • 好处:
    • 父窗口显示, 子窗口就显示(父对象要在子对象创建后调用show()).
    • 父窗口结束, 自动回收所有子窗口内存.

新建多个窗口

  • 在添加类时选择Base Class, 一般选择Qwidget较多.
  • 多个窗口的头文件放到主窗口的头文件中, 作为主窗口的对象成员来使用.

信号与槽

  • 信号函数和槽函数均没有返回值.
    1. connect(sender, signal, 接收对象, 槽函数), 每个参数都是指针类型:
//按下按钮1, 则按钮2隐藏
connect(&btn1, &QPushButton::pressed, &btn2, &QPushButton::hide);
    1. 转到槽

对象的常见操作

  • 隐藏对象
Obj.hide()
  • 显示对象
Obj.show();
  • 设置对象的显示字符
Obj.setText("xxx");
  • 移动对象
Obj.move(100, 100)
  • 窗口持续运行等待用户操作, 该函数会造成窗口阻塞, 当创建模态对话框时, 调用此函数阻塞. 此函数之后的代码将在关闭窗口时执行.
a.exec();
  • 设定窗口大小
resize(400, 300);
  • 发送信号
    • 声明信号(信号没有返回值, 但可以有参数, 信号只需声明, 无需定义)
    signals:
    void mySignal();
- 发送信号
    emit mySignal();
原文地址:https://www.cnblogs.com/linkyip/p/8546671.html