2012-06-07 11 views
6

Aplikacje napisane w Qt (4) nie mają natywnych menu po uruchomieniu na Windows 7, 64-bit. Dotyczy to dobrze znanych aplikacji, takich jak VLC, Lyx itp.Czy można uzyskać natywne menu z Qt4 na Windows 7, 64-bit?

Menu Qt nie zachowuje się jak natywne menu, co może być denerwujące. Jako przykład rozważ zrzut ekranu poniżej.

Qt menu example

Jeśli mysz jest szybko przeniósł się po czerwonej ścieżce, menu sub natychmiast zamknąć. W przypadku rodzimych menu w systemie Windows (i na komputerach Mac) występuje opóźnienie. Może to utrudnić nawigację w menu, ponieważ nie będą się one zachowywać tak, jak tego oczekuje użytkownik.

Czy można zamiast tego uzyskać natywne menu w systemie Windows?

+0

i nie sądzę, że ma to coś wspólnego z rodzimymi menu per se. Prawdopodobnie niektóre opcje opóźnień są ustawione przez Qt. "native" oznacza, jak jest dla mnie narysowany. Qt zdecydowanie rysuje formanty za pomocą natywnych interfejsów API. – rubenvb

+0

Cóż, "behaviour" nie jest przynajmniej natywny. Nie jestem pewien, czy menu są tworzone z natywnym interfejsem API. Przechwytywanie uchwytu HWND powoduje, że okna nie mają menu. – Petter

+1

Powinieneś zgłosić to jako błąd Qt, jeśli nie ma go już dla niego. –

Odpowiedz

1

W Qt5 dostępny jest interfejs API QPA dla menu - służy do tworzenia rodzimych menu Mac. Prawdopodobnie zostanie wkrótce użyty na Androidzie, a wdrożenie Windowsa będzie całkowicie możliwe. Powrót do Qt4 byłby skomplikowany, ponieważ natywne wsparcie dla Mac-menu zostało osiągnięte poprzez #ifdefs

Powiązane problemy