日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

第二章:第一節(jié)(一個(gè)簡(jiǎn)單的標(biāo)簽顯示)

系統(tǒng) 1825 0

一個(gè)查找框的教程,就是將第一章全部?jī)?nèi)容進(jìn)行整合復(fù)習(xí)

    
public class 第一節(jié)_子類(lèi)化QDialog  extends QDialog{

	/**
	 * @param args
	 */
	QLineEdit 可寫(xiě)東西的行;
	QCheckBox 全詞匹配選項(xiàng);
	QCheckBox 上一個(gè)選項(xiàng) ;
	QPushButton 查找按鈕;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		QApplication.initialize(args);

		new 第一節(jié)_子類(lèi)化QDialog().show();
		
		QApplication.exec();
	}

	public 第一節(jié)_子類(lèi)化QDialog(){
		
		QLabel 查找標(biāo)簽 = new QLabel(tr("查找(&c)")); //新建一個(gè)查找標(biāo)簽,	&c表示標(biāo)簽有了快捷鍵 就是ALT+o,tr是Jambi中String的一種表現(xiàn)方式,以后當(dāng)程序使用多語(yǔ)言顯示的話會(huì)使用到它	
		可寫(xiě)東西的行 = new QLineEdit();  //新建一個(gè)編輯行
		查找標(biāo)簽.setBuddy(可寫(xiě)東西的行); //意思就是按下標(biāo)簽的快捷鍵ALT+o,鼠標(biāo)焦點(diǎn)會(huì)移動(dòng)到"可寫(xiě)東西的行"的上面
		
		全詞匹配選項(xiàng) = new QCheckBox(tr("全詞匹配(&m)")); //新建一個(gè)選項(xiàng)按鈕,方框的
		上一個(gè)選項(xiàng) = new QCheckBox(tr("查找上一個(gè)(&b)")); //新建一個(gè)選項(xiàng)按鈕,方框的
		
		查找按鈕 = new QPushButton(tr("查找(&f)")); //新建一個(gè)查找的按鈕
		查找按鈕.setDefault(true); //設(shè)置成按下回車(chē)建時(shí)就觸發(fā)查找按鈕事件
		查找按鈕.setEnabled(false); //設(shè)置查找按鈕為灰顯
		
		QPushButton 關(guān)閉按鈕 = new QPushButton(tr("關(guān)閉(&o)")); //新建一個(gè)關(guān)閉的按鈕
		
		可寫(xiě)東西的行.textChanged.connect(this,"改變查找按鈕的灰顯(String)"); //事件,表示當(dāng)可寫(xiě)東西的行的文本發(fā)生變化時(shí)運(yùn)行改變查找按鈕的灰顯(String)這個(gè)方法,這個(gè)事件到了參數(shù),參數(shù)是根據(jù)具體事件來(lái)的,由于時(shí)間是屬于文本變化,文本內(nèi)容屬于String類(lèi)型,所以,表示當(dāng)文本改變時(shí),將可寫(xiě)東西的行中的文本當(dāng)作參數(shù)傳到改變查找按鈕的灰顯(String)這個(gè)方法中
		查找按鈕.clicked.connect(this, "查找事件()"); //事件,表示當(dāng)點(diǎn)擊查找按鈕后運(yùn)行查找事件()這個(gè)方法
		關(guān)閉按鈕.clicked.connect(this, "close()"); //事件,表示當(dāng)點(diǎn)擊關(guān)閉按鈕后運(yùn)行close()這個(gè)方法,close()方法是QT內(nèi)部的方法,所以就不用自己建
		
		QHBoxLayout 上左邊的布局 = new QHBoxLayout(); //新建一個(gè)橫向的布局
		上左邊的布局.addWidget(查找標(biāo)簽); //將查找標(biāo)簽放進(jìn)去
		上左邊的布局.addWidget(可寫(xiě)東西的行); //將可寫(xiě)東西的行放進(jìn)去
		
		QVBoxLayout 左邊的布局 = new QVBoxLayout();//新建一個(gè)豎向的布局
		左邊的布局.addLayout(上左邊的布局); //將上左邊的布局放到左邊的布局第一個(gè)位置
		左邊的布局.addWidget(全詞匹配選項(xiàng)); //將全詞匹配選項(xiàng)放到左邊的布局第二個(gè)位置
		左邊的布局.addWidget(上一個(gè)選項(xiàng)); //將上一個(gè)選項(xiàng)放到左邊的布局第三個(gè)位置
		
		QVBoxLayout 右邊的布局 = new QVBoxLayout();//新建一個(gè)豎向的布局
		右邊的布局.addWidget(查找按鈕); //將查找按鈕放到右邊的布局的第一個(gè)位置
		右邊的布局.addWidget(關(guān)閉按鈕); //將關(guān)閉按鈕放到右邊的布局的第二個(gè)位置
		右邊的布局.addStretch(); //添加彈簧,為了填充上面兩個(gè)按鈕的空白處,為了布局不難看
		
		QHBoxLayout 總體的布局 = new QHBoxLayout(); //新建一個(gè)橫向的布局
		總體的布局.addLayout(左邊的布局); //將左邊的布局放到總體的布局的第一個(gè)位置
		總體的布局.addLayout(右邊的布局); //將右邊的布局放到總體的布局的第二個(gè)位置
		
		setLayout(總體的布局); //當(dāng)前窗體使用總體的布局來(lái)布局
		
		setWindowTitle(tr("查找窗體")); //設(shè)置窗體標(biāo)題
		setFixedHeight(sizeHint().height()); //setFixedHeight表示讓窗體有個(gè)固定的高度,sizeHint().height()表示返回一個(gè)理想的窗體部件的尺寸大小
		
	}
	
	//對(duì)應(yīng)上面的查找事件()
	void 查找事件(){
		String text = 可寫(xiě)東西的行.text(); //得到行的內(nèi)容,就是你填的
		Qt.CaseSensitivity 類(lèi)型 = 全詞匹配選項(xiàng).isChecked() ? Qt.CaseSensitivity.CaseSensitive:Qt.CaseSensitivity.CaseSensitive;//公式就不說(shuō)了,意思就是如果選了全詞匹配選項(xiàng),則根據(jù)全詞匹配查找,否則不根據(jù),問(wèn)號(hào)后面兩個(gè)表達(dá)式是QT內(nèi)部的,只要知道意思就行了
		
		if(上一個(gè)選項(xiàng).isChecked()){ //如果被選中了
			向上找(text,類(lèi)型); //不解釋
		}else{
			向下找(text,類(lèi)型);//不解釋
		}
	}
	//不解釋
	void 向上找(String text,Qt.CaseSensitivity 類(lèi)型){
		//書(shū)上說(shuō)下一章再寫(xiě)
	}
	//不解釋
	void 向下找(String text,Qt.CaseSensitivity 類(lèi)型){
		//書(shū)上說(shuō)下一章再寫(xiě)
	}
	
	void 改變查找按鈕的灰顯(String text){//不解釋
		查找按鈕.setEnabled(!text.isEmpty()); //text.isEmpty()表示文本是不是為空,為空返回true,為空設(shè)置為false.
	}
	
}

  


如圖:
第二章:第一節(jié)(一個(gè)簡(jiǎn)單的標(biāo)簽顯示)

第二章:第一節(jié)(一個(gè)簡(jiǎn)單的標(biāo)簽顯示)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 长宁县| 绥江县| 九寨沟县| 洛隆县| 龙口市| 博白县| 绥江县| 遂溪县| 瑞昌市| 泰宁县| 保德县| 井陉县| 巩留县| 新晃| 兰西县| 新平| 陆河县| 苏尼特右旗| 赣州市| 镇安县| 泉州市| 贵德县| 海南省| 军事| 万全县| 南京市| 潢川县| 广元市| 清水河县| 昌都县| 古浪县| 手机| 白水县| 聂拉木县| 区。| 神木县| 秭归县| 余干县| 凤阳县| 太保市| 中方县|