c++ - क्या टूलबार के छिपाने के कार्य को रोकने का एक तरीका है?




qt qtoolbar (4)

क्यूटी में, अगर मैं टूलबार पर राइट-क्लिक करता हूं तो मेनू दिखाया जाएगा कि मुझे टूलबार को छुपाने की इजाजत है। मुझे इस कार्यक्षमता को अक्षम करना होगा क्योंकि मैं टूलबार को छुपाना संभव नहीं चाहता क्या इसे करने का कोई तरीका है?


ओवरराइड QMainWindow :: createPopupMenu () उदा

QMenu* MyApp::createPopupMenu()
{
  QMenu* filteredMenu = QMainWindow::createPopupMenu();
  filteredMenu->removeAction( mUnhidableToolBar->toggleViewAction() );
  return filteredMenu;
}

ध्यान दें कि संदर्भ मेनू को अक्षम करने का सुझाव देने वाले अन्य उत्तर केवल तभी काम करेंगे, यदि आप सभी टूलबारों और सभी गोदी विगेट्स के छुपाने / दिखाना अक्षम करना चाहते हैं।



मैं Qt::PreventContextMenu पट्टी पर सीधे टूलबार (मुख्य विंडो नहीं) पर Qt::PreventContextMenu सेट करने में सक्षम था, जब तक कि मैं या तो Qt::PreventContextMenu या Qt::ActionsContextMenu Qt::PreventContextMenu Qt::ActionsContextMenuPrevent संदर्भ मेनू Prevent समाप्त कर दिया और राइट-क्लिक करने से उपकरण पट्टी पर कोई प्रभाव नहीं पड़ा, जबकि Actions ने मेरे टूलबार में पहले से ही क्रियाओं से बना एक अच्छा संदर्भ मेनू बनाया। Qt::NoContextMenu पास कोई प्रभाव नहीं था।

toolbar->setContextMenuPolicy(Qt::PreventContextMenu);


QToolbar का उत्तराधिकारी और contextMenuEvent()





qtoolbar