界面美化與事件響應(yīng)_第1頁
界面美化與事件響應(yīng)_第2頁
界面美化與事件響應(yīng)_第3頁
界面美化與事件響應(yīng)_第4頁
界面美化與事件響應(yīng)_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第二講界面美化與事件響應(yīng)去除toolbar及菜單欄資源文件的使用comboBox的使用,內(nèi)容編輯及圖標(biāo)顯示頭像注冊帳號及密碼顯示程序圖標(biāo)的改變Toolbutton的設(shè)置2.1界面美化2.2設(shè)置背景圖片(1)主要代碼:

QPixmappixmap(":/images/noon.jpg");QPalettepalette;palette.setBrush(this->backgroundRole(),QBrush(pixmap));this->setPalette(palette);2.2設(shè)置背景圖片(2)改進后的主要代碼:

this->resize(400,700);QPixmapimage1(":/images/noon.jpg");//QPixmapimage1("./images/noon.jpg");QImageimage2=image1.scaled(400,700);QPalettepalette;palette.setBrush(this->backgroundRole(),QBrush(image2));2.2設(shè)置背景圖片(3)再次改進后的主要代碼:

QPixmapimage1(":/images/noon.jpg.png");//QPixmapimage1("./images/noon.jpg");QPixmapimage2=image1.scaled(this->width(),this->height());QPalettepalette;palette.setBrush(this->backgroundRole(),QBrush(image2));this->setPalette(palette);comboBox內(nèi)容變化更換圖標(biāo)QPixmapimage1(":/Head/193_100.gif");QPixmapimage2(":/Head/194_100.gif");QPixmapimage3(":/Head/195_100.gif");if(index==1)ui->label_head->setPixmap(image1);elseif(index==0)ui->label_head->setPixmap(image2);elseui->label_head->setPixmap(image3);2.3事件響應(yīng)登錄按鈕的初始化,變?yōu)椴豢捎胾i->pushButton->setEnabled(false);改變登錄按鈕的狀態(tài)if(ui->checkBox_2->isChecked()&&!ui->checkBox->isChecked())ui->checkBox->setChecked(true);2.3事件響應(yīng)2.4

消息對話框:QMessageBox類2.4.1Information消息框函數(shù)形式如下:StandardButtonQMessageBox::information(QWidget*parent, //消息框的父窗口指針constQString&title, //消息框的標(biāo)題欄constQString&text, //消息框的文字提示信息StandardButtonsbuttons=Ok, //同上Question消息框的注釋內(nèi)容StandardButtondefaultButton=NoButton//同上Question消息框的注釋內(nèi)容);

示例:

QMessageBox::information(this,tr("Information消息框"),tr("這是Information消息框測試,歡迎您!"));

添加頭文件:#include<QMessageBox>2.4.2About消息框數(shù)形式如下:voidQMessageBox::about(QWidget*parent, //消息框的父窗口指針constQString&title, //消息框的標(biāo)題欄constQString&text //消息框的文字提示信息);示例:QMessageBox::about(this,tr("About消息框"),tr("這是一個About消息框測試!"));

添加頭文件:#include<QMessageBox>2.4.3Question消息框函數(shù)形式如下:StandardButtonQMessageBox::question(QWidget*parent, //消息框的父窗口指針constQString&title, //消息框的標(biāo)題欄constQString&text, //消息框的文字提示信息StandardButtonsbuttons=Ok, //注(1)StandardButtondefaultButton=NoButton//注(2));Question消息框示例switch(QMessageBox::question(this,tr("Question消息框"),tr("您現(xiàn)在已經(jīng)修改完成,是否要結(jié)束程序?"),QMessageBox::Ok|QMessageBox::Cancel,QMessageBox::Ok)){caseQMessageBox::Ok:label->setText("Questionbutton/Ok");break;caseQMessageBox::Cancel:label->setText("Questionbutton/Cancel");break;default:break;}

2.4.4Warning消息框函數(shù)形式如下:StandardButtonQMessageBox::warning(QWidget*parent, //消息框的父窗口指針constQString&title, //消息框的標(biāo)題欄constQString&text, //消息框的文字提示信息StandardButtonsbuttons=Ok,//同上Question消息框的注釋內(nèi)容StandardButtondefaultButton=NoButton//同上Question消息框的注釋內(nèi)容);Warning消息框示例switch(QMessageBox::warning(this,tr("Warning消息框"),tr("您修改的內(nèi)容還未保存,是否要保存對文檔的修改?"),QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel,QMessageBox::Save)){caseQMessageBox::Save:label->setText(tr("Warningbutton/Save"));break;caseQMessageBox::Discard:label->setText(tr("Warningbutton/Discard"));break;caseQMessageBox::Cancel:label->setText(tr("Warningbutton/Cancel"));break;default:break;}

2.4.5Critical消息框函數(shù)形式如下:StandardButtonQMessageBox::critical(QWidget*parent, //消息框的父窗口指針constQString&title, //消息框的標(biāo)題欄constQString&text, //消息框的文字提示信息StandardButtonsbuttons=Ok, //同上Question消息框的注釋內(nèi)容StandardButtondefaultButton=NoButton//同上Question消息框的注釋內(nèi)容);示例:QMessageBox::critical(this,tr("Critical消息框"),tr("這是一個Critical消息框測試!"));2.4.6

關(guān)閉事件響應(yīng)1.添加:#include<QCloseEvent>

2.[h]文件protected后添加:voidcloseEvent(QCloseEvent*event);

3.[cpp]添加voidMainWindow::closeEvent(QCloseEvent*event)closeEvent函數(shù)實現(xiàn)switch(QMessageBox::question(this,tr("退出"),tr("您真的要退出程序嗎?"),QMessageBox::Ok|QMessageBox::Cancel,QMessageBox::Ok)){caseQMessageBox::Ok:event->accept();break;caseQMessageBox::Cancel:event->ignore();break;default:break;}2023/2/6

2.5.1操作字符串

2.5.2查詢字符串

2.5.3字符串轉(zhuǎn)換2.5

字符串類QString2023/2/6字符串有幾個操作符。(1)QString提供了一個二元的“+”操作符組合兩個字符串,并提供了一個“+=”操作符將一個字符串追加到另一個字符串的末尾,例如:QStringstr1="Welcome";str1=str1+"toyou!";//str1="Welcometoyou!"QStringstr2="Hello,";str2+="World!";//str2="Hello,World!"2.5.1操作字符串2023/2/6(2)QString::append()函數(shù)具有和“+=”操作符一樣的功能,實現(xiàn)在一個字符串的末尾追加另一個字符串,例如:QStringstr1="Welcome";QStringstr2="to";

str1.append(str2);//str1="Welcometo"str1.append("you!");//str1="Welcometoyou!"(3)組合字符串的另一個函數(shù)是QString::sprintf(),此函數(shù)支持的格式定義符和C++庫中的函數(shù)sprintf()定義的一樣。例如:QStringstr;str.sprintf("%s","Welcome"); //str="Welcome"str.sprintf("%s","toyou!"); //str="toyou!"str.sprintf("%s%s","Welcome","toyou!");//str="Welcometoyou!"2.5.1操作字符串2023/2/6(1)函數(shù)QString::startsWith()判斷一個字符串是否以某個字符串開頭。此函數(shù)具有兩個參數(shù),第一個參數(shù)指定了一個字符串,第二個參數(shù)指定是否大小寫敏感(默認(rèn)情況下,是大小寫敏感的),例如:QStringstr="Welcometoyou!";str.startsWith("Welcome",Qt::CaseSensitive);//返回true;str.startsWith("you",Qt::CaseSensitive);//返回false;(2)函數(shù)QString::contains()判斷一個指定的字符串是否出現(xiàn)QStringstr="Welcometoyou!";str.contains("Welcome",Qt::CaseSensitive);//返回true;2.5.2查詢字符串2023/2/6使用QString::toInt()函數(shù)將字符串轉(zhuǎn)換為整型數(shù)值,類似的函數(shù)還有toDouble()、toFloat()、toLong()、toLongLong()等。下面舉個例子說明其用法:QStringstr="125";boolok;inthex=str.toInt(&ok,16);//

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論