python -- pyQt5中 样式设置(边框、按钮、CSS 颜色代码)

在PyQt5中,可以通过不同的方法设置控件的样式,包括边框、按钮和CSS颜色代码。以下是一些示例代码:




from PyQt5.QtWidgets import QApplication, QPushButton, QWidget, QVBoxLayout, QFrame
from PyQt5.QtGui import QColor
from PyQt5.QtCore import Qt
 
import sys
 
 
class StyleExample(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
 
    def initUI(self):
        # 创建一个按钮
        button = QPushButton('按钮')
        
        # 设置按钮边框
        button.setStyleSheet("QPushButton {"
                             "border: 2px solid red;"  # 边框为红色
                             "}"
                             "QPushButton:hover {"  # 鼠标悬停时边框更宽
                             "border: 4px solid blue;"
                             "}")
        
        # 设置按钮背景色和文字颜色
        button.setStyleSheet(button.styleSheet() + "QPushButton {"
                                                 "background-color: rgb(160, 160, 160);"  # 背景色为灰色
                                                 "color: rgb(255, 255, 255);"  # 文字颜色为白色
                                                 "}")
        
        # 使用CSS设置按钮背景色和边框
        button.setStyleSheet(button.styleSheet() + "QPushButton {"
                                                 "background-color: #00FF00;"  # 绿色背景
                                                 "border: 2px solid #0000FF;"  # 蓝色边框
                                                 "}")
        
        # 创建一个边框
        frame = QFrame(self)
        frame.setStyleSheet("QFrame {"
                            "border: 2px solid black;"  # 边框为黑色
                            "background-color: #FF0000;"  # 边框背景色为红色
                            "}")
        frame.setFrameShape(QFrame.StyledPanel)
        
        # 布局
        vbox = QVBoxLayout()
        vbox.addWidget(button)
        vbox.addWidget(frame)
        self.setLayout(vbox)
        
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('样式设置示例')
        self.show()
 
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = StyleExample()
    sys.exit(app.exec_())

在这个例子中,我们创建了一个StyleExample类,它继承自QWidget。在initUI方法中,我们创建了一个按钮和一个边框,并通过setStyleSheet方法设置了它们的样式。我们使用CSS语法来定义样式,如边框、背景颜色等。我们也演示了如何使用CSS颜色代码(如#00FF00表示绿色)和RGB值(如rgb(160, 160, 160)表示灰色)来设置颜色。

最后修改于:2024年08月20日 14:23

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日