目标:实现button的圆角效果及背景颜色,鼠标滑过颜色变亮,鼠标点击颜色变重。
总体思路首,先根据需要及样式规则新建.qss文件,然后在代码中将文件引用并应用样式。
具体过程如下:
1在项目当前目录下,创建css.qss文件,并写入如下内容
QPushButton { background-color: rgb(85, 170, 255); border-radius:10px; padding:2px 4px; } QPushButton:hover{ background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #55afff, stop:1 #55b9ff); } QPushButton:pressed{ background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5582ff, stop:1 #5596ff); }
2在源文件中引入样式,并应用样式
//读取样式表 QFile qssFile("css.qss");//资源文件":/css.qss" qssFile.open(QFile::ReadOnly); if(qssFile.isOpen()) { QString qss = QLatin1String(qssFile.readAll()); startform.pushButton_1->setStyleSheet(qss); startform.pushButton_2->setStyleSheet(qss); startform.pushButton_3->setStyleSheet(qss); qssFile.close(); }
实现效果如你所见。