Python 在PyQt4中自定义WM_名称和WM_类(如xprop所示)
如何自定义Python 在PyQt4中自定义WM_名称和WM_类(如xprop所示),python,pyqt4,Python,Pyqt4,如何自定义PyQt4程序的字符串WM\u NAME和WM\u CLASS,如xprop所示 例如,考虑: from PyQt4 import QtGui, QtCore import sys if __name__ == '__main__': app = QtGui.QApplication(sys.argv) app.setStyle("plastique") listView = QtGui.QListView() listView.show
PyQt4
程序的字符串WM\u NAME
和WM\u CLASS
,如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_())
如果我通过python xprop\u test.py
运行这个(文件名为xprop\u test.py
),并为ListView或ComboBox调用linux工具xprop
,它会显示
WM_NAME(STRING) = "xprop_test.py"
及
如何将字符串WM_NAME
和WM_CLASS
设置为另一个自定义值(不同于文件名)
我如何为整个程序设置它?如何为每个单独的GUI元素调整它?WM\u NAME字符串只是标题栏标题,可以如下设置:
listView.setWindowTitle('listview')
python xprop_test.py -name FooBar
给予:
WM_NAME(STRING) = "listView"
WM_CLASS(STRING) = "FooBar", "Xprop_test.py"
WM_类
更难影响。默认情况下,它是从argv[0]
构建的,似乎没有一种方法可以使用qtapi以编程方式更改它。但是,可以通过使用-name
选项运行程序来更改字符串的第一部分,如下所示:
listView.setWindowTitle('listview')
python xprop_test.py -name FooBar
给予:
WM_NAME(STRING) = "listView"
WM_CLASS(STRING) = "FooBar", "Xprop_test.py"