2015-05-04 42 views
9

In KDE 5 (Kubuntu 15.04/Plasma 5.2) i pulsanti Qt disabilitati (Qt4) non sono distinguibili dai pulsanti non disabilitati. Questo problema non esiste in KDE 4.14 come la seguente screen-shot mostra:Disabilitato I pulsanti Qt non sono visualizzati come disabilitati in Plasma 5.2 (KDE 5)

Disabled buttons: KDE 4 versus KDE 5

La sorgente del programma per questa finestra è scritto in Python con PyQt4:

from PyQt4 import QtGui 
import sys 


if __name__ == "__main__": 
    # main function 

    app = QtGui.QApplication(sys.argv) 

    qw = QtGui.QWidget() 
    qw.resize(150, 120) 
    qw.setWindowTitle("KDE 4") 
    #qw.setWindowTitle("KDE 5") 

    b1, b2 = QtGui.QPushButton(qw), QtGui.QPushButton(qw) 
    for b, y, e in zip([b1, b2], [30, 60], [False, True]): 
     b.move(30, y) 
     b.setEnabled(e) 
     b.setText("Enabled" if e else "Disabled") 

    qw.show() 
    sys.exit(app.exec_()) 

Come posso fare disabile I pulsanti in KDE 5 sono riconoscibili?

Aggiornamento 2015/07/17:

Sembra essere un problema di temi: In Debian/sid utilizzando l'ossigeno-Tema evita questo problema.

Anche Bug 343930 risolve questo problema.

+0

Per ovviare impostare un foglio di stile per il testo del pulsante. – ngulam

+0

@ngulam Grazie - Immagino che finirò per fare fogli di stile personalizzati - addio portabilità ... – Dietrich

+0

@Dietrich Non è la soluzione più elegante, ma dovresti essere in grado di memorizzare il tuo foglio di stile all'interno dello script usando una stringa a tre punte e basta caricare dalla stringa. Potrebbe risolvere il problema della portabilità, almeno. –

risposta

1

Questo era un bug nel tema Breeze utilizzato da KDE/Plasma5. Ora è stato risolto. Di seguito sono riportati gli screenshot dei pulsanti abilitati e disabilitati che utilizzano Qt5 e PyQt5.

Using C++/Qt5

Using Python/Qt5