QT快速生成QSS
来源:互联网 发布:淘宝直通车入门教程 编辑:程序博客网 时间:2024/06/10 03:39
qt快速生成qss代码,效果如下:
核心代码:
#pragma execution_character_set("utf-8")#include "qpushbuttonstyle.h"#include "ui_qpushbuttonstyle.h"#include <QColorDialog>QPushButtonStyle::QPushButtonStyle(QWidget *parent) : QWidget(parent), ui(new Ui::QPushButtonStyle){ ui->setupUi(this); color="#333ddd"; border=2; ui->bordThickSlider->setValue(border); solid="#555bbb"; ui->renkLabel->setPalette(QPalette(QColor(color))); ui->renkLabel->setAutoFillBackground(true); ui->renkLabel2->setPalette(QPalette(QColor(solid))); ui->renkLabel2->setAutoFillBackground(true); fontFamily="MS Shell Dlg 2"; ui->fontComboBox->setCurrentFont(QFont(fontFamily)); fontSize=8; ui->fontSizeSlider->setValue(fontSize); borderRadius=11; ui->bordRadSlider->setValue(borderRadius); padding=5; gradyanType="qradialgradient"; bgGrad_cx=0.3; bgGrad_cy=-0.4; bgGrad_fx=0.3; bgGrad_fy=-0.4; bgGrad2_cx=0.4; bgGrad2_cy=-0.1; bgGrad2_fx=0.4; bgGrad2_fy=-0.1; bgGrad_radius=1.35; ui->gRadiusSlider->setValue(bgGrad_radius*100); bgGrad_stop0="#fffaaa"; bgGrad_stop11="#888aaa"; bgGrad_stop12="#bbbaaa"; bgGrad_stop13="#dddaaa"; ui->grenkLabel1->setPalette(QPalette(QColor(bgGrad_stop0))); ui->grenkLabel1->setAutoFillBackground(true); ui->grenkLabel2->setPalette(QPalette(QColor(bgGrad_stop11))); ui->grenkLabel2->setAutoFillBackground(true); ui->grenkLabel3->setPalette(QPalette(QColor(bgGrad_stop12))); ui->grenkLabel3->setAutoFillBackground(true); ui->grenkLabel4->setPalette(QPalette(QColor(bgGrad_stop13))); ui->grenkLabel4->setAutoFillBackground(true); updateStylesheet(); setWindowTitle("自定义控件示例(qq:609162385)");}QPushButtonStyle::~QPushButtonStyle(){ delete ui;}void QPushButtonStyle::updateStylesheet(){ styleText= QString(" QPushButton {\ncolor: " +color +";\nborder: "+QString::number(border) +"px solid "+solid +";\nfont: "+QString::number(fontSize)+"pt \""+fontFamily+"\""+ +";\nborder-radius: "+QString::number(borderRadius) +"px;\npadding: "+QString::number(padding) +"px;\nbackground: qradialgradient(cx: "+QString::number(bgGrad_cx) +", cy: "+QString::number(bgGrad_cy) +",\nfx: "+QString::number(bgGrad_fx) +", fy: "+QString::number(bgGrad_fy) +",\nradius: "+QString::number(bgGrad_radius) +", stop: 0 "+bgGrad_stop0 +", stop: 1 "+bgGrad_stop11 +");\nmin-width: 80px;\n}\n\n"+ "QPushButton:hover {\nbackground: qradialgradient(cx: "+QString::number(bgGrad_cx) +", cy: "+QString::number(bgGrad_cy) +",\nfx: "+QString::number(bgGrad_fx) +", fy: "+QString::number(bgGrad_fy) +",\nradius: "+QString::number(bgGrad_radius) +", stop: 0 "+bgGrad_stop0 +", stop: 1 "+bgGrad_stop12 +");\n}\n\n "+ "QPushButton:pressed {\nbackground: qradialgradient(cx: "+QString::number(bgGrad2_cx) +", cy: "+QString::number(bgGrad2_cy) +",\nfx: "+QString::number(bgGrad2_fx) +", fy: "+QString::number(bgGrad2_fy) +",\nradius: "+QString::number(bgGrad_radius) +", stop: 0 "+bgGrad_stop0 +", stop: 1 "+bgGrad_stop13+");\n}"); ui->pushButton->setStyleSheet(styleText); ui->styleOutput->setText(styleText);}QString QPushButtonStyle::prependZeros(QString col){ QString rightColor=col; while(rightColor.size()<6) rightColor.prepend("0"); return rightColor;}void QPushButtonStyle::on_renkButton_clicked(){ QColorDialog diag; QColor bColor=diag.getColor(QColor(bgGrad_stop0)); if(bColor.isValid()) { ui->renkLabel->setPalette(bColor); ui->renkLabel->setAutoFillBackground(true); color=bColor.name(); updateStylesheet(); }}void QPushButtonStyle::on_renkButton2_clicked(){ QColorDialog diag; QColor bColor=diag.getColor(QColor(bgGrad_stop11)); if(bColor.isValid()) { ui->renkLabel2->setPalette(bColor); ui->renkLabel2->setAutoFillBackground(true); solid=bColor.name(); updateStylesheet(); }}void QPushButtonStyle::on_grenkButton1_clicked(){ QColorDialog diag; QColor bColor=diag.getColor(QColor(bgGrad_stop0)); if(bColor.isValid()) { ui->grenkLabel1->setPalette(bColor); ui->grenkLabel1->setAutoFillBackground(true); bgGrad_stop0=bColor.name(); updateStylesheet(); }}void QPushButtonStyle::on_grenkButton2_clicked(){ QColorDialog diag; QColor bColor=diag.getColor(QColor(bgGrad_stop11)); if(bColor.isValid()) { ui->grenkLabel2->setPalette(bColor); ui->grenkLabel2->setAutoFillBackground(true); bgGrad_stop11=bColor.name(); int h,s,v; bColor.getHsv(&h,&s,&v); s= s/2; bColor.setHsv(h,s,v); ui->grenkLabel3->setPalette(bColor); ui->grenkLabel3->setAutoFillBackground(true); bgGrad_stop12=bColor.name(); bColor.getHsv(&h,&s,&v); s= s/2; bColor.setHsv(h,s,v); ui->grenkLabel4->setPalette(bColor); ui->grenkLabel4->setAutoFillBackground(true); bgGrad_stop13=bColor.name(); updateStylesheet(); }}void QPushButtonStyle::on_grenkButton3_clicked(){ QColorDialog diag; QColor bColor=diag.getColor(QColor(bgGrad_stop12)); if(bColor.isValid()) { ui->grenkLabel3->setPalette(bColor); ui->grenkLabel3->setAutoFillBackground(true); bgGrad_stop12=bColor.name(); updateStylesheet(); }}void QPushButtonStyle::on_grenkButton4_clicked(){ QColorDialog diag; QColor bColor=diag.getColor(QColor(bgGrad_stop13)); if(bColor.isValid()) { ui->grenkLabel4->setPalette(bColor); ui->grenkLabel4->setAutoFillBackground(true); bgGrad_stop13=bColor.name(); updateStylesheet(); }}void QPushButtonStyle::on_bordRadSlider_valueChanged(int value){ borderRadius= value; updateStylesheet();}void QPushButtonStyle::on_bordThickSlider_valueChanged(int value){ border=value; updateStylesheet();}void QPushButtonStyle::on_gRadiusSlider_valueChanged(int value){ bgGrad_radius=value / 100.0; updateStylesheet();}void QPushButtonStyle::on_fontComboBox_currentIndexChanged(const QString &arg1){ fontFamily=ui->fontComboBox->currentFont().family(); updateStylesheet();}void QPushButtonStyle::on_fontSizeSlider_valueChanged(int value){ fontSize=value; updateStylesheet();}
阅读全文
0 0
- QT快速生成QSS
- Qt qss
- QT皮肤(QSS)编程
- QT皮肤(QSS)编程
- Qt QSS样式表
- QT皮肤(QSS)编程
- QT皮肤(QSS)编程
- QT皮肤(QSS)编程
- QT皮肤(QSS)编程
- QT qss实例
- Qt之QSS文件
- QT皮肤(QSS)编程
- QT皮肤(QSS)编程
- QT QSS 使用
- QT QSS 使用
- Qt界面美化 QSS
- QT皮肤(QSS)编程
- QT StyleSheet --QSS示例
- app测试经验总结
- 数列按升序排列,有一个数字排错,如何纠错?
- caffe源码 之 dropout层
- 深入学习jQuery选择器系列第七篇——表单选择器
- Java Q&A For Selenium WebDriver
- QT快速生成QSS
- Cesium之Viewer
- log4j2基本配置
- 使用IKVM将JAR包转化成DLL库
- 高斯滤波
- c#中英字节方法
- html的img的src为空处理,避免谷歌浏览器有边框
- mysql的主从复制
- 异常