界面美化与事件响应_第1页
界面美化与事件响应_第2页
界面美化与事件响应_第3页
界面美化与事件响应_第4页
界面美化与事件响应_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二讲界面美化与事件响应去除toolbar及菜单栏资源文件的使用comboBox的使用,内容编辑及图标显示头像注册帐号及密码显示程序图标的改变Toolbutton的设置2.1界面美化2.2设置背景图片(1)主要代码:

QPixmappixmap(":/images/noon.jpg");QPalettepalette;palette.setBrush(this->backgroundRole(),QBrush(pixmap));this->setPalette(palette);2.2设置背景图片(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设置背景图片(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内容变化更换图标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事件响应登录按钮的初始化,变为不可用ui->pushButton->setEnabled(false);改变登录按钮的状态if(ui->checkBox_2->isChecked()&&!ui->checkBox->isChecked())ui->checkBox->setChecked(true);2.3事件响应2.4

消息对话框:QMessageBox类2.4.1Information消息框函数形式如下:StandardButtonQMessageBox::information(QWidget*parent, //消息框的父窗口指针constQString&title, //消息框的标题栏constQString&text, //消息框的文字提示信息StandardButtonsbuttons=Ok, //同上Question消息框的注释内容StandardButtondefaultButton=NoButton//同上Question消息框的注释内容);

示例:

QMessageBox::information(this,tr("Information消息框"),tr("这是Information消息框测试,欢迎您!"));

添加头文件:#include<QMessageBox>2.4.2About消息框数形式如下:voidQMessageBox::about(QWidget*parent, //消息框的父窗口指针constQString&title, //消息框的标题栏constQString&text //消息框的文字提示信息);示例:QMessageBox::about(this,tr("About消息框"),tr("这是一个About消息框测试!"));

添加头文件:#include<QMessageBox>2.4.3Question消息框函数形式如下:StandardButtonQMessageBox::question(QWidget*parent, //消息框的父窗口指针constQString&title, //消息框的标题栏constQString&text, //消息框的文字提示信息StandardButtonsbuttons=Ok, //注(1)StandardButtondefaultButton=NoButton//注(2));Question消息框示例switch(QMessageBox::question(this,tr("Question消息框"),tr("您现在已经修改完成,是否要结束程序?"),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消息框函数形式如下:StandardButtonQMessageBox::warning(QWidget*parent, //消息框的父窗口指针constQString&title, //消息框的标题栏constQString&text, //消息框的文字提示信息StandardButtonsbuttons=Ok,//同上Question消息框的注释内容StandardButtondefaultButton=NoButton//同上Question消息框的注释内容);Warning消息框示例switch(QMessageBox::warning(this,tr("Warning消息框"),tr("您修改的内容还未保存,是否要保存对文档的修改?"),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消息框函数形式如下:StandardButtonQMessageBox::critical(QWidget*parent, //消息框的父窗口指针constQString&title, //消息框的标题栏constQString&text, //消息框的文字提示信息StandardButtonsbuttons=Ok, //同上Question消息框的注释内容StandardButtondefaultButton=NoButton//同上Question消息框的注释内容);示例:QMessageBox::critical(this,tr("Critical消息框"),tr("这是一个Critical消息框测试!"));2.4.6

关闭事件响应1.添加:#include<QCloseEvent>

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

3.[cpp]添加voidMainWindow::closeEvent(QCloseEvent*event)closeEvent函数实现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字符串转换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()函数具有和“+=”操作符一样的功能,实现在一个字符串的末尾追加另一个字符串,例如:QStringstr1="Welcome";QStringstr2="to";

str1.append(str2);//str1="Welcometo"str1.append("you!");//str1="Welcometoyou!"(3)组合字符串的另一个函数是QString::sprintf(),此函数支持的格式定义符和C++库中的函数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)函数QString::startsWith()判断一个字符串是否以某个字符串开头。此函数具有两个参数,第一个参数指定了一个字符串,第二个参数指定是否大小写敏感(默认情况下,是大小写敏感的),例如:QStringstr="Welcometoyou!";str.startsWith("Welcome",Qt::CaseSensitive);//返回true;str.startsWith("you",Qt::CaseSensitive);//返回false;(2)函数QString::contains()判断一个指定的字符串是否出现QStringstr="Welcometoyou!";str.contains("Welcome",Qt::CaseSensitive);//返回true;2.5.2查询字符串2023/2/6使用QString::toInt()函数将字符串转换为整型数值,类似的函数还有toDouble()、toFloat()、toLong()、toLongLong()等。下面举个例子说明其用法:QStringstr="125";boolok;inthex=str.toInt(&ok,16);//

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论