2015-09-21 36 views
7

W dowolnej aplikacji Qt na KDE kiedy dodać QPushButton w projektanta i sprawdzić To tekst przez:Jak wyłączyć automatyczne mnemotechniki w aplikacji Qt w KDE?

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

Wyjście jest poprzedzony &:

& PUSHBUTTON

To zachowanie nie istnieje w systemie Windows. Wygląda na to, że aplikacje Qt w KDE automatycznie dodają skróty do wszystkich przycisków, co nie jest dla mnie pożądane. Powinienem zauważyć, że ampersandy nie są tworzone przez projektanta i nie można ich zobaczyć w pliku .ui. Faktycznie, gdy przycisk jest dodawany do widżetu, & jest umieszczany gdzieś w jego tekście.

Czy w ogóle możliwe jest wyłączenie automatycznego mnemoniki aplikacji Qt?

+0

To pytanie jest niejasne. Czy Qt Designer dodaje je? Czy są obecne w pliku .ui? Czy są one dodawane w czasie wykonywania przez samą Qt? Naprawdę musisz to wyjaśnić. –

+0

@KubaOber Amperandy nie są tworzone przez projektanta i nie można ich zobaczyć w .ui. Wygląda na to, że po dodaniu przycisku do widgetu, '&' zostaje umieszczone w jego tekście. Może to zachowanie KDE. – Nejat

+0

Proszę umieścić takie wyjaśnienia w pytaniu. –

Odpowiedz

11

Wtyczka KDEPlatformTheme odpowiedzialna za to.

Rozwiązaniem jest dodanie

[Development] 
AutoCheckAccelerators=false 

do ~/.config/kdeglobals, co uniemożliwia automatyczne dodawanie KDE akceleratorów.

Powiązane bug: https://bugs.kde.org/show_bug.cgi?id=337491