में एक टैबिफाइड QDockWidget पर फ़ोकस करना मेरे पास तीन QDockWidgets हैं जो QMainWindow.tabifyDockWidget
का उपयोग करके स्टार्टअप पर टैब्ड हैं।PyQt
मुख्य विंडो में, addDockWidget
कॉल की सब के बाद:
self.tabifyDockWidget(self.dock_widget1, self.dock_widget2)
self.tabifyDockWidget(self.dock_widget1, self.dock_widget3)
कुछ कार्रवाई के आधार पर, मैं इन में से एक टैब का चयन करने के लिए और इसे लाने के ध्यान केंद्रित करने, या, के शीर्ष पर करना चाहते हैं अन्य दो, अगर यह पहले से ही दिखाई नहीं दे रहा है। मैंने setVisible
और setWindowState(Qt.WindowActive)
का उपयोग करने का प्रयास किया है, लेकिन कुछ भी नहीं बदलेगा।
प्रोग्रामिंग के लिए एक टैबड डॉक विजेट का चयन करने और इसे सामने लाने के लिए कोई तरीका है?
class MyMainWindow ; // A QMainWindow
void MyMainWindow::bringToFront(QDockWidget* dockIn)
{
QList<QDockWidget*> docks = tabifiedDockWidgets(dockIn) ;
foreach(QDockWidget* dock, docks)
{
// Move second dock on top of first dock widget.
tabifyDockWidget(dock, dockIn) ;
}
}
QMainWindow::tabifiedDockWidgets()
और QMainWindow::tabifyDockWidget()
देखें:
यह निश्चित रूप से काम करता है, केवल मुद्दा यह है कि यह टैब जो गैर है reorders है आदर्श। अब तक, ऐसा लगता है कि यह केवल समाधान है ... स्निपेट के लिए धन्यवाद। – brianz