2012-08-07 5 views
7

Jak mogę dostosować sznurki WM_NAME i WM_CLASS programu PyQt4 jak pokazano xprop?Dostosuj WM_NAME i WM_CLASS (jak pokazano przez xprop) w PyQt4

Rozważmy na przykład:

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_()) 

Jeśli uruchomić ten (plik nazywa xprop_test.py) poprzez python xprop_test.py i wywołać narzędzie linux xprop zarówno dla ListView lub do ComboBox, pokazuje

WM_NAME(STRING) = "xprop_test.py" 

i

WM_CLASS(STRING) = "xprop_test.py", "Xprop_test.py" 

Jak ustawić ciągi znaków WM_NAME i WM_CLASS do innej wartości niestandardowej (innej niż nazwa pliku)?

Jak ustawić dla całego programu? Jak mogę go dostosować dla każdego elementu GUI?

Odpowiedz

3

Ciąg WM_NAME jest po prostu napis tytułowy bar, które mogą być ustawione tak:

listView.setWindowTitle('listview') 

podając:

WM_NAME(STRING) = "listView" 

WM_CLASS trudniej jest wpłynąć. Domyślnie jest zbudowany z argv[0] i nie wydaje się, aby można było to zmienić programowo za pomocą interfejsów API Qt. Jednak pierwsza część łańcucha mogą być zmieniane przez uruchomienie programu z -name opcji jak ten:

python xprop_test.py -name FooBar 

podając:

WM_CLASS(STRING) = "FooBar", "Xprop_test.py"