Qt怎么设置按钮样式
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容主要讲解"Qt怎么设置按钮样式",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Qt怎么设置按钮样式"吧!函数名 //设置按钮样式 sta
千家信息网最后更新 2025年12月02日Qt怎么设置按钮样式
本篇内容主要讲解"Qt怎么设置按钮样式",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Qt怎么设置按钮样式"吧!
函数名
//设置按钮样式 static QString setPushButtonQss(QPushButton *btn, //按钮对象 int radius = 5, //圆角半径 int padding = 8, //间距 const QString &normalColor = "#34495E", //正常颜色 const QString &normalTextColor = "#FFFFFF", //文字颜色 const QString &hoverColor = "#4E6D8C", //悬停颜色 const QString &hoverTextColor = "#F0F0F0", //悬停文字颜色 const QString &pressedColor = "#2D3E50", //按下颜色 const QString &pressedTextColor = "#B8C6D1"); //按下文字颜色 //设置文本框样式 static QString setLineEditQss(QLineEdit *txt, //文本框对象 int radius = 3, //圆角半径 int borderWidth = 2, //边框大小 const QString &normalColor = "#DCE4EC", //正常颜色 const QString &focusColor = "#34495E"); //选中颜色 //设置进度条样式 static QString setProgressBarQss(QProgressBar *bar, int barHeight = 8, //进度条高度 int barRadius = 5, //进度条半径 int fontSize = 9, //文字字号 const QString &normalColor = "#E8EDF2", //正常颜色 const QString &chunkColor = "#E74C3C"); //进度颜色 //设置滑块条样式 static QString setSliderQss(QSlider *slider, //滑动条对象 int sliderHeight = 8, //滑动条高度 const QString &normalColor = "#E8EDF2", //正常颜色 const QString &grooveColor = "#1ABC9C", //滑块颜色 const QString &handleBorderColor = "#1ABC9C", //指示器边框颜色 const QString &handleColor = "#FFFFFF", //指示器颜色 const QString &textColor = "#000000"); //文字颜色 //设置单选框样式 static QString setRadioButtonQss(QRadioButton *rbtn, //单选框对象 int indicatorRadius = 8, //指示器圆角角度 const QString &normalColor = "#D7DBDE", //正常颜色 const QString &checkColor = "#34495E"); //选中颜色 //设置滚动条样式 static QString setScrollBarQss(QWidget *scroll, //滚动条对象 int radius = 6, //圆角角度 int min = 120, //指示器最小长度 int max = 12, //滚动条最大长度 const QString &bgColor = "#606060", //背景色 const QString &handleNormalColor = "#34495E", //指示器正常颜色 const QString &handleHoverColor = "#1ABC9C", //指示器悬停颜色 const QString &handlePressedColor = "#E74C3C"); //指示器按下颜色
函数体
QString QUIHelper::setPushButtonQss(QPushButton *btn, int radius, int padding, const QString &normalColor, const QString &normalTextColor, const QString &hoverColor, const QString &hoverTextColor, const QString &pressedColor, const QString &pressedTextColor){ QStringList list; list.append(QString("QPushButton{border-style:none;padding:%1px;border-radius:%2px;color:%3;background:%4;}") .arg(padding).arg(radius).arg(normalTextColor).arg(normalColor)); list.append(QString("QPushButton:hover{color:%1;background:%2;}") .arg(hoverTextColor).arg(hoverColor)); list.append(QString("QPushButton:pressed{color:%1;background:%2;}") .arg(pressedTextColor).arg(pressedColor)); QString qss = list.join(""); btn->setStyleSheet(qss); return qss;}QString QUIHelper::setLineEditQss(QLineEdit *txt, int radius, int borderWidth, const QString &normalColor, const QString &focusColor){ QStringList list; list.append(QString("QLineEdit{border-style:none;padding:3px;border-radius:%1px;border:%2px solid %3;}") .arg(radius).arg(borderWidth).arg(normalColor)); list.append(QString("QLineEdit:focus{border:%1px solid %2;}") .arg(borderWidth).arg(focusColor)); QString qss = list.join(""); txt->setStyleSheet(qss); return qss;}QString QUIHelper::setProgressBarQss(QProgressBar *bar, int barHeight, int barRadius, int fontSize, const QString &normalColor, const QString &chunkColor){ QStringList list; list.append(QString("QProgressBar{font:%1pt;background:%2;max-height:%3px;border-radius:%4px;text-align:center;border:1px solid %2;}") .arg(fontSize).arg(normalColor).arg(barHeight).arg(barRadius)); list.append(QString("QProgressBar:chunk{border-radius:%2px;background-color:%1;}") .arg(chunkColor).arg(barRadius)); QString qss = list.join(""); bar->setStyleSheet(qss); return qss;}QString QUIHelper::setSliderQss(QSlider *slider, int sliderHeight, const QString &normalColor, const QString &grooveColor, const QString &handleBorderColor, const QString &handleColor, const QString &textColor){ int sliderRadius = sliderHeight / 2; int handleSize = (sliderHeight * 3) / 2 + (sliderHeight / 5); int handleRadius = handleSize / 2; int handleOffset = handleRadius / 2; QStringList list; int handleWidth = handleSize + sliderHeight / 5 - 1; list.append(QString("QSlider::horizontal{min-height:%1px;color:%2;}").arg(sliderHeight * 2).arg(textColor)); list.append(QString("QSlider::groove:horizontal{background:%1;height:%2px;border-radius:%3px;}") .arg(normalColor).arg(sliderHeight).arg(sliderRadius)); list.append(QString("QSlider::add-page:horizontal{background:%1;height:%2px;border-radius:%3px;}") .arg(normalColor).arg(sliderHeight).arg(sliderRadius)); list.append(QString("QSlider::sub-page:horizontal{background:%1;height:%2px;border-radius:%3px;}") .arg(grooveColor).arg(sliderHeight).arg(sliderRadius)); list.append(QString("QSlider::handle:horizontal{width:%3px;margin-top:-%4px;margin-bottom:-%4px;border-radius:%5px;" "background:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 %1,stop:0.8 %2);}") .arg(handleColor).arg(handleBorderColor).arg(handleWidth).arg(handleOffset).arg(handleRadius)); //偏移一个像素 handleWidth = handleSize + sliderHeight / 5; list.append(QString("QSlider::vertical{min-width:%1px;color:%2;}").arg(sliderHeight * 2).arg(textColor)); list.append(QString("QSlider::groove:vertical{background:%1;width:%2px;border-radius:%3px;}") .arg(normalColor).arg(sliderHeight).arg(sliderRadius)); list.append(QString("QSlider::add-page:vertical{background:%1;width:%2px;border-radius:%3px;}") .arg(grooveColor).arg(sliderHeight).arg(sliderRadius)); list.append(QString("QSlider::sub-page:vertical{background:%1;width:%2px;border-radius:%3px;}") .arg(normalColor).arg(sliderHeight).arg(sliderRadius)); list.append(QString("QSlider::handle:vertical{height:%3px;margin-left:-%4px;margin-right:-%4px;border-radius:%5px;" "background:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5,stop:0.6 %1,stop:0.8 %2);}") .arg(handleColor).arg(handleBorderColor).arg(handleWidth).arg(handleOffset).arg(handleRadius)); QString qss = list.join(""); slider->setStyleSheet(qss); return qss;}QString QUIHelper::setRadioButtonQss(QRadioButton *rbtn, int indicatorRadius, const QString &normalColor, const QString &checkColor){ int indicatorWidth = indicatorRadius * 2; QStringList list; list.append(QString("QRadioButton::indicator{border-radius:%1px;width:%2px;height:%2px;}") .arg(indicatorRadius).arg(indicatorWidth)); list.append(QString("QRadioButton::indicator::unchecked{background:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5," "stop:0.6 #FFFFFF,stop:0.7 %1);}").arg(normalColor)); list.append(QString("QRadioButton::indicator::checked{background:qradialgradient(spread:pad,cx:0.5,cy:0.5,radius:0.5,fx:0.5,fy:0.5," "stop:0 %1,stop:0.3 %1,stop:0.4 #FFFFFF,stop:0.6 #FFFFFF,stop:0.7 %1);}").arg(checkColor)); QString qss = list.join(""); rbtn->setStyleSheet(qss); return qss;}QString QUIHelper::setScrollBarQss(QWidget *scroll, int radius, int min, int max, const QString &bgColor, const QString &handleNormalColor, const QString &handleHoverColor, const QString &handlePressedColor){ //滚动条离背景间隔 int padding = 0; QStringList list; //handle:指示器,滚动条拉动部分 add-page:滚动条拉动时增加的部分 sub-page:滚动条拉动时减少的部分 add-line:递增按钮 sub-line:递减按钮 //横向滚动条部分 list.append(QString("QScrollBar:horizontal{background:%1;padding:%2px;border-radius:%3px;min-height:%4px;max-height:%4px;}") .arg(bgColor).arg(padding).arg(radius).arg(max)); list.append(QString("QScrollBar::handle:horizontal{background:%1;min-width:%2px;border-radius:%3px;}") .arg(handleNormalColor).arg(min).arg(radius)); list.append(QString("QScrollBar::handle:horizontal:hover{background:%1;}") .arg(handleHoverColor)); list.append(QString("QScrollBar::handle:horizontal:pressed{background:%1;}") .arg(handlePressedColor)); list.append(QString("QScrollBar::add-page:horizontal{background:none;}")); list.append(QString("QScrollBar::sub-page:horizontal{background:none;}")); list.append(QString("QScrollBar::add-line:horizontal{background:none;}")); list.append(QString("QScrollBar::sub-line:horizontal{background:none;}")); //纵向滚动条部分 list.append(QString("QScrollBar:vertical{background:%1;padding:%2px;border-radius:%3px;min-width:%4px;max-width:%4px;}") .arg(bgColor).arg(padding).arg(radius).arg(max)); list.append(QString("QScrollBar::handle:vertical{background:%1;min-height:%2px;border-radius:%3px;}") .arg(handleNormalColor).arg(min).arg(radius)); list.append(QString("QScrollBar::handle:vertical:hover{background:%1;}") .arg(handleHoverColor)); list.append(QString("QScrollBar::handle:vertical:pressed{background:%1;}") .arg(handlePressedColor)); list.append(QString("QScrollBar::add-page:vertical{background:none;}")); list.append(QString("QScrollBar::sub-page:vertical{background:none;}")); list.append(QString("QScrollBar::add-line:vertical{background:none;}")); list.append(QString("QScrollBar::sub-line:vertical{background:none;}")); QString qss = list.join(""); scroll->setStyleSheet(qss); return qss;}到此,相信大家对"Qt怎么设置按钮样式"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
颜色
样式
指示
指示器
按钮
对象
文字
部分
圆角
进度
半径
内容
函数
文本
背景
角度
边框
长度
高度
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发需要英语功底吗
宝山区销售软件开发
宁河软件开发报价
助蠃计划软件开发者
设定游戏数据库卡住
绝地求生云端服务器
滴滴代驾订单显示服务器已失效
光大软件开发中心 在哪办公
网络安全宣传页制作
联想服务器ts250机盖
漳州欧重网络技术有限公司
如何打开红米手机的数据库
智能互联网高科技语文
计算机网络技术与应用考研方向
网络安全方面个人总结
SM软件开发资质什么意思
杨凌IOS软件开发招聘
我的世界服务器国外
城市大脑 网络安全
BAS 网络安全
戴尔r730二手服务器
山东什么是网络技术创新服务
助蠃计划软件开发者
自然资源清查数据库验收
景德镇物理服务器费用多少
联想服务器ts250机盖
服务器赛扬4500怎样
苍南网络安全部门电话
小布什国家网络安全策略
科技保险与互联网保险