Piszę menu podręczne dla widżetu przycisku Qt, po kliknięciu przycisku, wyskakujące menu (pod przyciskiem).Ustaw pozycję (w prawo) menu kontekstowego Qt PushButton
Domyślnie wyskakujące menu jest lewostronne. Czy są jakieś sposoby, aby wyskakujące menu pojawiło się po prawej stronie pod przyciskiem?
Nie ma ustawionej funkcji pozycji ... więc zastanawiam się, czy jest jakiś wyrafinowany sposób robienia tego?
Oto niektóre kodu (do menu podręcznego):
QMenu *menuMode = new QMenu(this);
min = menu ->addAction("In");
mout = menu ->addAction("out");
ui->pushButtonMode->setMenu(menuMode); //I am writing in MainWindow, that's there is ui
Dziękuję bardzo za wszelkie wskazówki i porady.
Dzięki, pracuję nad tym! Czy mogę zapytać, dlaczego istnieje 'QPushButton * b' w klasie' PopupMenu'? I czy funkcja 'showEvent' będzie wywoływana za każdym razem, gdy kliknę przycisk Push dla PopupMenu? – Ryan
Ponadto natknąłem się na te błędy: '' popupmenu.obj: błąd LNK2001: nierozwiązany symbol zewnętrzny "public: virtual struct QMetaObject const * __cdecl PopupMenu :: metaObject (void) const" 'popupmenu.obj: błąd LNK2001: nierozwiązany symbol zewnętrzny" public: virtual void * __cdecl PopupMenu :: qt_metacast (const char *)”' '' popupmenu.obj: error LNK2001: nierozwiązanych zewnętrznych symbolu "public: virtual int __cdecl PopupMenu :: qt_metacall (enum QMetaObject :: Zaproszenie, int, void *)" ' I natknąłem się na te błędy, ale nie wiem też, dlaczego ma to związek z QMetaObject – Ryan
@Ryan 'QPushButton * b' jest używane do informowania PopupMenu o tym, który przycisk powinien być ustawiony w tym samym kierunku. tak, 'showEvent' będzie wywoływane za każdym kliknięciem przycisku. o swoich błędach: spójrz na [to SO pytania i odpowiedzi] (http://stackoverflow.com/questions/14170770/unresolved-external-symbol-public-virtual-struct-qmetaobject-const-thiscal) –