2012-11-11 8 views
5

Próbuję uzyskać bezbrzeżną QLineEdit poprzez CSS. Działa dobrze, gdy QLineEdit nie jest w centrum uwagi, ale gdy ostrość jest ustawiona, domyślna niebieska ramka zawsze pojawia się. Prosta CSS Używam:Jak uniemożliwić rysowanie domyślnej niebieskiej ramki na ogniskowaniu QLineEdit

QLineEdit, QLineEdit:focus { border: none; } 

Próbowałem z innym kolorem tła poprzez CSS dla ostrości i nie-w-focus, to działa, ale nie jestem w stanie usunąć niebieski granicę, podczas gdy w centrum uwagi. Po prostu informuję, że pracuję na komputerze Mac.

+0

Twój arkusz stylów działa dla mnie w systemie Windows. Podobnie jest z rozwiązaniem Nikos. Może utwórz na komputerze Mac mały przykład kompilacji, a jeśli problem będzie się powtarzał, zgłoś zgłoszenie błędu. – Anthony

Odpowiedz

7

Możecie pozbyć granicy ostrości poprzez ustawienie:

QLineEdit.setAttribute(Qt::WA_MacShowFocusRect, 0) 

Przeczytaj dokumentację, istnieje wiele innych specyficznych ustawień Mac WidgetAttribute-enum

Jest dość podobne pytanie zbyt Refer this question

+1

Dzięki. Ale w QT5.4 powinno to być Qt :: WA_MacShowFocusRect zamiast Qt.WA_MacShowFocusRect –