Ant*_*rth 3 variables qt pyqt pyqt4
在我的应用程序中,用户点击我的程序的任何小部件(当时是休眠的)并为其选择一种颜色.
然后,此颜色将添加到该特定窗口小部件的样式表中.
但是,当程序结束并再次启动时,我希望该特定小部件保留其样式表.
我不想在每个小部件的样式表中使用硬编码.事实上,我甚至不知道哪个特定的小部件有样式表.
我真正想做的是为应用程序提供一个样式表,并将新颜色编码为单击的特定小部件.
(即:如果用户点击了QPushButton并选择了{color:red}的样式表,
我想只有那个QPushButton是红色的,没有其他的.
所以,如果那个QPushButton的变量名为'Clicky',那就
到QApplications样式表我想补充
一句:'QPushButton#Clicky {color:red}')
要做到这一点,而不必为每个小部件硬编码,
我必须以某种方式将我的PyQt4小部件的变量名称转换为字符串.
我怎样才能做到这一点?
谢谢!
(我已经读过从它们的值中获取python变量名称是非常困难的;
是否可以将任何其他形式的ID添加到样式表中?)
PyQt4
python 2.7.2
Windows 7
在命名对象之前,首先需要setObjectName("somename"),然后objectName()才能工作,甚至更好 - findChild()或findChildren()
例
标题:
QButton foo;
Run Code Online (Sandbox Code Playgroud)
类:
foo = new QButton();
foo.setObjectName("MySuperButton");
Run Code Online (Sandbox Code Playgroud)
然后,最后在你的QSS ..
#MySuperButton {
background: black;
}
Run Code Online (Sandbox Code Playgroud)
这也与CSS类似
QButton#MySuperButton {
background: red;
}
Run Code Online (Sandbox Code Playgroud)
您想要类似地设置多个对象名称(针对不同对象),或者仅使用具有特定名称的一种类型的窗口小部件的粒度的逻辑也与CSS非常相似.
归档时间: |
|
查看次数: |
8302 次 |
最近记录: |