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

第二章:第一節(一個簡單的標簽顯示)

系統 1713 0

一個查找框的教程,就是將第一章全部內容進行整合復習

    
public class 第一節_子類化QDialog  extends QDialog{

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

		new 第一節_子類化QDialog().show();
		
		QApplication.exec();
	}

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

  


如圖:
第二章:第一節(一個簡單的標簽顯示)

第二章:第一節(一個簡單的標簽顯示)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 中阳县| 拉萨市| 丰城市| 双鸭山市| 蒙自县| 铜梁县| 关岭| 谢通门县| 衡山县| 常熟市| 南宫市| 邵东县| 嘉善县| 故城县| 巴南区| 鄂伦春自治旗| 旬阳县| 白城市| 余庆县| 含山县| 衡东县| SHOW| 辽中县| 惠安县| 丰顺县| 莫力| 榆树市| 临海市| 永泰县| 鸡东县| 靖江市| 农安县| 湟源县| 宜兰市| 阆中市| 水城县| 莱芜市| 封丘县| 左贡县| 广水市| 阿克|