我如何自定义WM_NAME
程序的字符WM_CLASS
和PyQt4
,如xprop
所示?
考虑例如:
from PyQt4 import QtGui, QtCore
import sys
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
app.setStyle("plastique")
listView = QtGui.QListView()
listView.show()
combobox = QtGui.QComboBox()
combobox.show()
sys.exit(app.exec_())
如果我通过xprop_test.py
运行此文件(该文件名为python xprop_test.py
),并为ListView或ComboBox调用linux工具xprop
,则显示
WM_NAME(STRING) = "xprop_test.py"
和
WM_CLASS(STRING) = "xprop_test.py", "Xprop_test.py"
如何将字符串WM_NAME
和WM_CLASS
设置为另一个自定义值(与文件名不同)?
如何为整个程序设置它?如何为每个GUI元素调整它?
答案 0 :(得分:3)
WM_NAME
字符串只是标题栏标题,可以像这样设置:
listView.setWindowTitle('listview')
,并提供:
WM_NAME(STRING) = "listView"
WM_CLASS
更难以影响。默认情况下,它是从argv[0]
构造的,并且似乎没有办法使用Qt API以编程方式更改此方法。但是,可以通过使用-name
选项运行程序来更改字符串的第一部分,如下所示:
python xprop_test.py -name FooBar
,并提供:
WM_CLASS(STRING) = "FooBar", "Xprop_test.py"