天天看點

Qt學習——控件Widgets

Qt的控件可以在設計視窗左邊部分看到

Qt學習——控件Widgets

各個控件的使用,可以直接拖動至Dialog中即可,将界面布置完成後,再在源檔案中編寫對應的代碼。

下面通過一個綜合的使用,熟悉一下常用控件:

Qt學習——控件Widgets

1.首先将一個QLabel,一個QLineEdit,兩個QPushButton和一個ok按鈕左邊的占位符放入Dialog界面中。

2.将控件的Text設為上圖所示,其中Cell Location實際為&Cell Location;

3.然後通過水準對齊,垂直對齊,調整大小等,将控件擺放整齊。

4.至此,界面已經基本就緒。

5.點選Dialog設計上方的夥伴編輯模式(Edit buddies),将QLineEdit控件設為QLabel的夥伴。

6.傳回Edit widgets模式,就會看到&不見了,變成C下有一個下劃線。運作後可以按alt+C切換到LineEdit上。

7.此時切換到代碼編輯模式,在源檔案中編寫代碼。

#include "dialog.h"
#include "ui_dialog.h"
Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
    QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");//正規表達式,第一個為字母,第二個為1-9的數字,後面可接0至2個0-9的數字
    ui->lineEdit->setValidator(new QRegExpValidator(regExp,this));//限制了輸入框的輸入内容
    connect(ui->okButton,SIGNAL(clicked()),this,SLOT(accept()));
    connect(ui->cancelButton,SIGNAL(clicked()),this,SLOT(reject()));
}

Dialog::~Dialog()
{
    delete ui;
}

void Dialog::on_lineEdit_textChanged(QString )
{
    ui->okButton->setEnabled(ui->lineEdit->hasAcceptableInput());//當輸入框有可接受輸入時,ok按鈕可用。
}
           
Qt學習——控件Widgets
Qt學習——控件Widgets