2012-11-11 6 views
5

Ich versuche, durch CSS ein grenzenloses QLineEdit zu erreichen. Es funktioniert gut, wenn QLineEdit nicht im Fokus ist, aber wenn der Fokus scharf ist, wird immer der blaue Standardrand angezeigt. Die einfachen CSS Ich verwende:So verhindern Sie, dass der standardmäßige blaue Rahmen auf QLineEdit-Fokus gezeichnet wird

QLineEdit, QLineEdit:focus { border: none; } 

Ich habe mit anderer Hintergrundfarbe durch CSS für Fokus versucht und nicht-in-Fokus, es funktioniert, aber ich bin nicht in der Lage die blaue Grenze, während im Fokus zu entfernen. Nur um zu informieren, arbeite ich an einem Mac.

+0

Ihr Stylesheet funktioniert für mich in Windows. So auch die Lösung von Nikos. Vielleicht erstellen Sie ein kleines kompilierbares Beispiel auf Ihrem Mac, und wenn das Problem weiterhin besteht, reichen Sie einen Fehlerbericht ein. – Anthony

Antwort

7

Sie könnten der Fokus Grenze loszuwerden, indem:

QLineEdit.setAttribute(Qt::WA_MacShowFocusRect, 0) 

Lesen Sie die Dokumentation, es gibt viele andere Mac-spezifische Einstellungen WidgetAttribute-enum

Es ist eher eine ähnliche Frage zu Refer this question

+1

Danke. Aber in QT5.4 sollte es Qt :: WA_MacShowFocusRect anstelle von Qt.WA_MacShowFocusRect sein –