当前位置:文档之家› qss美化___按钮

qss美化___按钮

Qt开发界面程序时为按钮控件添加背景图片
Qt本身直接创建的按钮看起来有些单调,如,当然,程序员可以在程序代码里通过写相关的setStyle类的函数来自定义按钮样式,如设置颜色、形状等。

但有时这些样式仍不能满足客户的特殊需求,这就需要为按钮添加背景图片。

Qt自身支持的强大的qss美化文件为我们美化界面提供了极大方便,本文就最常用、简单的按钮美化给出简单教程。

1.首先,我们需要自己新建一个文本文件,写入以下内容:
QPushButton#MyBtn{
border-image:url(:/my_ObjectName/Resources/ Normal/btn_Pic.bmp);
}
QPushButton# MyBtn:hover{
border-image:url(:/my_ObjectName /Resources/ Go/ btn_Pic.bmp);
}
QPushButton# MyBtn:pressed{
border-image:url(:/my_ObjectName /Resources/ Press/ btn_Pic.bmp);
}
QPushButton# MyBtn:!enabled{
border-image:url(:/my_ObjectName /Resources/ Null/ btn_Pic.bmp);
}
将文件保存为my_qssFile.qss (注意:后缀是.qss),并将该文件放在你工程源代码的那个文件夹的目录下面。

说明:Normal文件夹下存放的是按钮正常状态下的背景图片,Go文件夹下存放的是鼠标经过该按钮时的按钮背景图片,Press文件夹下存放鼠标点击按下时的背景图片,Null文件夹下存放该按钮不可用时(setEnabled(false))的背景图片.
2.以记事本方式打开该目录下的.qrc文件(注意:该文件是建立工程时,系统自动生成的,不需要你改名字),在</qresource> 前回车新建一行,在该行写如下代码:
<file>Resources /Normal/ btn_Pic.bmp </file>
<file>Resources /Press/ btn_Pic.bmp </file>
<file>Resources /Go/ btn_Pic.bmp </file>
<file>Resources /Null/ btn_Pic.bmp </file>
然后保存该文件。

3.在程序main.cpp文件里封装如下函数
void SetGlobalStyle()
{
QFile file("my_qssFile.qss");
file.open(QFile::ReadOnly);
QString styleSheet = QLatin1String(file.readAll());
qApp->setStyleSheet(styleSheet);
file.close();
}
然后在main函数里调用上述函数。

4.在程序里定义自己的按钮,如QPushButton * btn = new QPushButton(this);
然后再写如下代码btn ->setObjectName(“MyBtn”);
5.效果如.
参考资料:QT4.6帮助文档 qt style sheet。

相关主题