如何自定义 xprop
所示的 PyQt4
程序的字符串 WM_NAME
和 WM_CLASS
?
例如考虑:
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_())
如果我通过 python xprop_test.py
运行这个(文件名为 xprop_test.py
)并调用 linux 工具 xprop
要么ListView 或者对于 ComboBox,它显示
WM_NAME(STRING) = "xprop_test.py"
和
WM_CLASS(STRING) = "xprop_test.py", "Xprop_test.py"
如何将字符串 WM_NAME
和 WM_CLASS
设置为另一个自定义值(不同于文件名)?
如何为整个程序设置它?如何为每个单独的 GUI 元素调整它?
最佳答案
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"
关于python - PyQt4中自定义WM_NAME和WM_CLASS(如xprop所示),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11846029/