2015-09-21 26 views
7

In qualsiasi applicazione Qt su KDE quando aggiungo un QPushButton in designer e controllarlo è testo:Come disabilitare i mnemonici automatici in un'applicazione Qt su KDE?

void MainWindow::on_pushButton_clicked() 
{ 
    qDebug()<<ui->pushButton->text(); 
} 

L'uscita è preceduta da un &:

& PushButton

Questo comportamento non esiste su Windows. Sembra che le applicazioni Qt su KDE aggiungano automaticamente scorciatoie a tutti i pulsanti, che non sono desiderati per me. Devo notare che gli e commerciali non sono creati dal designer e non è possibile vederli nel file .ui. In realtà quando il pulsante viene aggiunto a un widget, uno & viene inserito da qualche parte nel suo testo.

E 'possibile disattivare comunque i codici mnemonici automatici di un'applicazione Qt?

+0

Questa domanda non è chiara. Qt Designer li ha aggiunti? Sono presenti nel file .ui? Sono aggiunti in fase di runtime da Qt stessa? Hai davvero bisogno di chiarire. –

+0

@KubaOber Gli e commerciali non vengono creati dal designer e non è possibile visualizzarli in .ui. Sembra che quando il pulsante viene aggiunto a un widget, un '&' viene posizionato da qualche parte nel suo testo. Forse è questo il comportamento di KDE. – Nejat

+0

Si prega di inserire tali chiarimenti nella domanda. –

risposta

11

KDEPlatformTheme plugin responsabile per questo.

Una soluzione è quella di aggiungere

[Development] 
AutoCheckAccelerators=false 

a ~/.config/kdeglobals, che impedisce KDE da acceleratori aggiunta automaticamente.

Corretto bug: https://bugs.kde.org/show_bug.cgi?id=337491