gpt4 book ai didi

python - 在 PyQt5 中通过对象 #id 设置样式

转载 作者:行者123 更新时间:2023-12-01 03:12:53 25 4
gpt4 key购买 nike

我的元素中有 2 个文件:ma​​in.py

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import (QWidget, QPushButton, QApplication)
from styles import styles

class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()

def initUI(self):
self.setStyleSheet(styles)
btn1 = QPushButton('Button1', self)
btn1.resize(btn1.sizeHint())
btn1.move(50, 50)
btn2 = QPushButton('Button2', self)
btn2.resize(btn2.sizeHint())
btn2.move(100, 100)
self.show()


if __name__ == '__main__':
app = QApplication(sys.argv)
my = MyApp()
sys.exit(app.exec_())

styles.py:

styles="QPushButton#btn2 { background-color: red }"

如上所述here这个应该改变 btn2 的背景颜色。然而,它什么也没做。怎么了?

styles="QPushButton { background-color: red }"

工作正常(对于 QPushButton 类的所有实例)。我正在使用 PyQt5 和 Python 3.5

最佳答案

好的,这就是它的工作原理:我首先必须在样式表中设置要引用的对象的名称。喜欢:

self.btn2.setObjectName('btn2')

在此之后

styles="QPushButton#btn2 { background-color: red }" 

工作正常。

关于python - 在 PyQt5 中通过对象 #id 设置样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42736095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com