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();
相關文章
相關標籤/搜索