内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

【Qt學習筆記】5.常規(guī)控件

//——————————11.30——————————————

創(chuàng)新互聯(lián)為您提適合企業(yè)的網(wǎng)站設(shè)計?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強的網(wǎng)絡(luò)競爭力!結(jié)合企業(yè)自身,進行網(wǎng)站設(shè)計及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到網(wǎng)站設(shè)計制作、成都網(wǎng)站制作, 我們的網(wǎng)頁設(shè)計師為您提供的解決方案。

//由于緊急情況需要惡補C#, Qt的學習暫時中斷  (Π 。 Π)-~

——————————12.5——————————————---

回來了,繼續(xù)更新

一、復選框(CheckBox)

操作函數(shù):

bool isChecked() const;
void setChecked(bool);

信號:

void stateChanged(int state);

小練習:

做如下界面,并實現(xiàn)這樣的邏輯:只有當復選框“我接受”被選中時,“繼續(xù)”按鈕才能被按下

【Qt學習筆記】5.常規(guī)控件

1.設(shè)置事件響應,初始化一系列窗體(是否可按 在 QWidget類中::enabled)

2.設(shè)置、獲取CheckBox的值,判斷它是否被選中

3.處理“下一步”按鈕

Test5_1a_11_30::Test5_1a_11_30(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);
	assert( 
		connect(ui.cbxAgree, 
			SIGNAL(clicked(bool)),
			this, 
			SLOT(OnBtnChecked()) )
		);		//這里的參數(shù) 剛開始學習一定要注意

}

int Test5_1a_11_30::OnBtnChecked()
{
	if (ui.cbxAgree->isChecked())
	{
		ui.pushButton->setEnabled(true);
	}
	else
	{
		ui.pushButton->setEnabled(false);
	}
	return 0;
}

二、單行文本框(QLineEdit)

小練習:

構(gòu)造一個用戶登陸界面,輸入用戶名、密碼,點確定后檢查用戶名和密碼的正確性。

【Qt學習筆記】5.常規(guī)控件

注意:密碼文本框輸入的內(nèi)容不希望顯示,因此需要設(shè)置一下 QLineEdit類中的echoMode屬性

【Qt學習筆記】5.常規(guī)控件

Test5_2a_12_6::Test5_2a_12_6(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);

	assert(
		connect(ui.btnOk, SIGNAL(clicked()), this, SLOT(OnBtnOk()))
		);

}

int Test5_2a_12_6::OnBtnOk()
{
	if ("admin" == ui.editUser->text() && "passwd" == ui.editPswd->text())
	{
		QMessageBox::information(this, "success", "next"); //提示框
	}
	else
	{
		QMessageBox::information(this, "error", "try again"); //提示框
	}
}

做一個改進:在密碼輸入完后,按下回車,等同于按下按鈕:

Test5_2a_12_6::Test5_2a_12_6(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);

	assert(
		connect(ui.btnOk, SIGNAL(clicked()), this, SLOT(OnBtnOk()))
		);

	assert(
		connect(ui.editPswd, SIGNAL(returnPressed()), this, SLOT(OnReturnPressed()))
		);

}

int Test5_2a_12_6::OnBtnOk()
{
	if ("admin" == ui.editUser->text() && "passwd" == ui.editPswd->text())
	{
		QMessageBox::information(this, "success", "next"); //提示框
	}
	else
	{
		QMessageBox::information(this, "error", "try again"); //提示框
	}
	
	return 0;
}

int Test5_2a_12_6::OnReturnPressed()
{
	OnBtnOk();
	return 0;
}

三、組合框(QComboBox)

組合框:

QComboBox是一個文本框和一個下拉列表的組合。

用戶從下拉列表里選擇一個值,被選擇的值顯示在文本框中。

組合框的初始化:

方式1:用Qt Designer,雙擊QComboBox控件,可視化操作

方式2:手動初始化,在構(gòu)造函數(shù)中,用addItm()方法

設(shè)置關(guān)聯(lián)數(shù)據(jù):

在使用QComboBox時,text是顯示給用戶看的,而程序內(nèi)部往往使用的是其關(guān)聯(lián)數(shù)據(jù)。

itemData()   :  取得關(guān)聯(lián)數(shù)據(jù)

setItemData() :  設(shè)置關(guān)聯(lián)數(shù)據(jù)

示例:

Test5_3a_12_6::Test5_3a_12_6(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);
	//添加,設(shè)置關(guān)聯(lián)
	ui.comboBox->addItem("English", "en");
	ui.comboBox->addItem("Chinese", "ch");
	ui.comboBox->addItem("Japanese", "jp");
	ui.comboBox->addItem("Germany", "gr");

	assert(
		connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(OnBtnOk()))
		);

}

int Test5_3a_12_6::OnBtnOk()
{
	int index = ui.comboBox->currentIndex();
	QString data = ui.comboBox->itemData(index).toString();
	QString text = ui.comboBox->itemText(index);
	QMessageBox::information(this, "data", data);
	QMessageBox::information(this, "text", text);
	return 0;
}

四、工具按鈕(QToolButton)

Qt提供了兩種按鈕控件:

QPushButton : 普通按鈕

QToolButton : 工具按鈕

有共同的基類:QAbstractButton

QToolButton有兩個屬性:

1、text文本

2、icon圖標 

關(guān)于icon圖標:

1、圖標最好是 *.png格式,因為背景透明     

2、圖標資源由 *.qrc文件定義,最終會被編入可執(zhí)行程序中

下載后的icon圖標放到目錄下的 Resources路徑

(icon圖標在編譯后,內(nèi)容會被寫入 *.qrc文件中,就在項目的根路徑下)

設(shè)置:

【Qt學習筆記】5.常規(guī)控件

(PS:就是更漂亮的按鈕  (●ˇˇ●))

使用方法:

1、將icon圖標添加到Recources路徑

2、在QT Disigner中的資源瀏覽器中添加

【Qt學習筆記】5.常規(guī)控件 3、在QToolButton控件的icon屬性中,選擇剛剛添加的icon圖標

4、可以在toolButtonStyle中設(shè)置圖標和文本的顯示方式

【Qt學習筆記】5.常規(guī)控件

接著再介紹幾個常用的QToolButton的屬性

autoRaise浮動按鈕:

可以把QToolButton設(shè)置成浮動的樣式,我認為更好看喔

checkable可選擇模式:

把按鈕設(shè)置成 “按下/彈起”工作模式

五、QLabel顯示文字和圖片

1、背景色、前景色

2、字體及大小

3、對齊方式

4、是否換行

5、設(shè)置邊框

此外,QLabel還能用來顯示圖片,通常顯示一個Logo也是極好的.

使用入下:

【Qt學習筆記】5.常規(guī)控件

____________________________________________

尾巴

這里介紹了幾個控件,每個控件都有大量的屬性和方法,以及對應的事件。而我們不可能將它們完全記住,因此在開發(fā)的過程中,查閱文檔挺重要的

本文標題:【Qt學習筆記】5.常規(guī)控件
文章轉(zhuǎn)載:http://www.rwnh.cn/article38/gspdpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、關(guān)鍵詞優(yōu)化搜索引擎優(yōu)化、網(wǎng)站內(nèi)鏈電子商務、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務器托管
宁乡县| 巍山| 甘肃省| 长宁县| 沂水县| 且末县| 定结县| 新田县| 若尔盖县| 罗定市| 康平县| 建湖县| 共和县| 塘沽区| 周宁县| 商丘市| 扶余县| 齐齐哈尔市| 河北区| 郸城县| 平舆县| 无锡市| 集安市| 阜新市| 子长县| 潞西市| 乌什县| 南涧| 宁明县| 明溪县| 喀喇| 宜黄县| 天全县| 河池市| 佛坪县| 盘山县| 茌平县| 汝州市| 波密县| 山阴县| 德兴市|