Hello All!
There is a difference in how tab captions return to QMainWindow's tab captions area when using QDockWidget:
1) Double-clicking dock widget caption converts tabbed window to floating window.
2) Double-clicking floating window caption returns tab caption to it's previous position (tab order does not change)
3) Dragging window back to tabbed widgets returns tab caption to zero-position (tab order changes)
How do I make order not to change?
Thank you!
Python version is 3.1.1.final.0
Qt version is 4.5.3
PyQt version is 4.6.2
To reproduce problem, I made small python module:
from PyQt4 import Qt as qt
import sys
mw.setWindowState(qt.Qt.WindowMaximized)
mw.
setTabPosition(qt.
Qt.
LeftDockWidgetArea,qt.
QTabWidget.
North)
mw.dockwidgets = []
for i in range(5):
1) Double-clicking dock widget caption converts tabbed window to floating window.<br>
2) Double-clicking floating window caption returns tab caption to it's previous position (<b>tab order does not change</b>)<br>
3) Dragging window back to tabbed widgets returns tab caption to zero-position (<b>tab order changes</b>)<br>
How do I make order not to change? Thank you!<br>
Python version is %s<br>
Qt version is %s<br>
PyQt version is %s<br>
""" % (("%s."*5)[0:-1] % tuple(sys.version_info), qt.qVersion(),qt.PYQT_VERSION_STR)))
mw.dockwidgets.append(dw)
mw.addDockWidget(qt.Qt.LeftDockWidgetArea, mw.dockwidgets[i])
if i > 0: mw.tabifyDockWidget(mw.dockwidgets[i-1],mw.dockwidgets[i])
mw.show()
res = app.exec_()
sys.exit(res)
from PyQt4 import Qt as qt
import sys
app = qt.QApplication(sys.argv)
mw = qt.QMainWindow()
mw.setWindowState(qt.Qt.WindowMaximized)
mw.setTabPosition(qt.Qt.LeftDockWidgetArea,qt.QTabWidget.North)
mw.dockwidgets = []
for i in range(5):
dw = qt.QDockWidget(str(i+1))
dw.setWidget(qt.QTextEdit("""
1) Double-clicking dock widget caption converts tabbed window to floating window.<br>
2) Double-clicking floating window caption returns tab caption to it's previous position (<b>tab order does not change</b>)<br>
3) Dragging window back to tabbed widgets returns tab caption to zero-position (<b>tab order changes</b>)<br>
How do I make order not to change? Thank you!<br>
Python version is %s<br>
Qt version is %s<br>
PyQt version is %s<br>
""" % (("%s."*5)[0:-1] % tuple(sys.version_info), qt.qVersion(),qt.PYQT_VERSION_STR)))
mw.dockwidgets.append(dw)
mw.addDockWidget(qt.Qt.LeftDockWidgetArea, mw.dockwidgets[i])
if i > 0: mw.tabifyDockWidget(mw.dockwidgets[i-1],mw.dockwidgets[i])
mw.show()
res = app.exec_()
sys.exit(res)
To copy to clipboard, switch view to plain text mode
Please help! Thank you!
Bookmarks