Sto scrivendo un menu a comparsa per un widget pulsante Qt, ogni volta che si fa clic sul pulsante, un menu a comparsa (sotto il pulsante).Impostare la posizione (a destra) del menu a comparsa Qt PushButton
Il menu di scelta rapida è di lato sinistro di seguito per impostazione predefinita. Ci sono modi per aprire il menu a comparsa sul lato destro sotto il pulsante?
Non esiste una funzione di posizione impostata ... quindi mi chiedo se esiste un modo sofisticato per farlo?
Ecco alcuni codice (per il menu a comparsa):
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
La ringrazio molto per qualsiasi orientamento e consulenza.
Grazie, ci sto lavorando! Posso chiedere perché c'è 'QPushButton * b' nella classe' PopupMenu'? Ed è la funzione 'showEvent' che verrà chiamata ogni volta che clicco il pulsante per il PopupMenu? – Ryan
Inoltre, mi sono imbattuto in questi errori: '' popupmenu.obj: errore LNK2001: simbolo esterno non risolto "public: virtual struct QMetaObject const * __cdecl PopupMenu :: metaObject (void) const" 'popupmenu.obj: errore LNK2001: simbolo esterno non risolto" public: virtual void * __cdecl PopupMenu :: qt_metacast (const char *)"' '' popupmenu.obj: errore LNK2001: simbolo esterno "public: virtual int __cdecl PopupMenu :: qt_metacall (enum QMetaObject :: chiamata, int, void * *)" ' I mi sono imbattuto in errori di questo tipo, ma non so perché si riferisca a QMetaObject – Ryan
@Ryan 'QPushButton * b' è usato per dire al PopupMenu a quale istanza del pulsante deve essere allineato. sì, 'showEvent' verrà chiamato ogni volta che si fa clic sul pulsante. sui tuoi errori: dai un'occhiata a [questa domanda e risposta SO] (http://stackoverflow.com/questions/14170770/unresolved-external-symbol-public-virtual-struct-qmetaobject-const-thiscal) –