首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PyQt4中自定义WM_NAME和WM_CLASS (如xprop所示)

在PyQt4中自定义WM_NAME和WM_CLASS (如xprop所示)
EN

Stack Overflow用户
提问于 2012-08-07 20:29:50
回答 1查看 2.7K关注 0票数 7

如何自定义PyQt4程序的字符串WM_NAMEWM_CLASS,如xprop所示

请考虑以下示例:

代码语言:javascript
复制
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),并为ListView或ComboBox调用linux工具xprop,它会显示

代码语言:javascript
复制
WM_NAME(STRING) = "xprop_test.py"

代码语言:javascript
复制
WM_CLASS(STRING) = "xprop_test.py", "Xprop_test.py"

如何将字符串WM_NAMEWM_CLASS设置为另一个定制值(与文件名不同)?

如何为整个程序设置它?如何为每个单独的GUI元素调整它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-08 01:50:29

WM_NAME字符串就是标题栏标题,可以这样设置:

代码语言:javascript
复制
listView.setWindowTitle('listview')

给予:

代码语言:javascript
复制
WM_NAME(STRING) = "listView"

WM_CLASS更难受到影响。默认情况下,它是从argv[0]构造的,似乎没有一种方法可以使用Qt以编程方式更改这一点。但是,可以通过使用如下的-name选项运行程序来更改字符串的第一部分:

代码语言:javascript
复制
python xprop_test.py -name FooBar

给予:

代码语言:javascript
复制
WM_CLASS(STRING) = "FooBar", "Xprop_test.py"
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11846029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档