2012-11-22 20 views
5

Utworzyłem menu kontekstowe w Qt i potrzebuję, aby pozycje w menu działały w sposób zaznaczony/niezaznaczony, aby przełączał się za każdym kliknięciem danego elementu. Jak dodać tę funkcję do QAction, jak pokazano poniżej? enter image description hereJak dodać check/odznacz QAction w menu kontekstowym?

+6

QAction ma właściwość o nazwie "dostępne do kontroli". Ustawione przy użyciu metody "setCheckable (true);" –

+0

dziękuję to działało :) – indira

Odpowiedz

4

Oto odpowiednia część instrukcji.

dostępne do kontroli: bool

Ta nieruchomość posiada, czy działanie jest dostępne do kontroli działania.

Czynność podlegająca kontroli to taka, która ma stan włączania/wyłączania. Na przykład w edytorze tekstu przycisk Pogrubiony pasek narzędzi może być włączony lub wyłączony. Czynność, która nie jest operacją przełączania, jest działaniem polecenia; akcja poleceń jest po prostu wykonywana, np. zapis pliku. Domyślnie ta właściwość ma wartość false.

W niektórych sytuacjach stan jednej akcji przełączania powinien zależeć od stanu innych. Na przykład akcje "Wyrównaj w lewo", "Środek" i "Wyrównaj w prawo" wzajemnie się wykluczają. Aby uzyskać wyłączne przełączanie, dodaj odpowiednie działania przełączania do QActionGroup z właściwością QActionGroup :: exclusive ustawioną na true.

funkcje dostępu:

bool isCheckable() const 

void setCheckable(bool) 

Notifier sygnałowe:

void changed()