Ho un'app con un numero di QDockWidgets e senza widget centrale. Voglio impostare alcune di quelle dimensioni iniziali QDockWidgets (dimensioni all'avvio dell'applicazione), ma non voglio limitare le dimensioni min/max.Come impostare la dimensione iniziale (predefinita) di QDockWidget nell'app senza widget centrale (PyQt4)?
Come fare? Ad esempio, ho bisogno di impostare la dimensione iniziale 150x75 su una di esse. Ho provato metodi ovvi (come ad esempio QWidget.Resize() relativi al contenuto del widget dock), ma non ha funzionato affatto.
Ecco un modello semplificato di situazione:
from PyQt4 import QtCore, QtGui
app = QtGui.QApplication([''])
mw = QtGui.QMainWindow() # mw = MainWindow
mw.setCentralWidget(None)
mw.showMaximized()
mw.dockWdg1 = QtGui.QDockWidget(mw)
mw.content1 = QtGui.QTreeWidget()
mw.dockWdg1.setWidget(mw.content1)
mw.addDockWidget(QtCore.Qt.DockWidgetArea(2), mw.dockWdg1)
mw.dockWdg1.setWindowTitle("1st dock widget")
mw.dockWdg2 = QtGui.QDockWidget(mw)
mw.content2 = QtGui.QTreeWidget()
mw.dockWdg2.setWidget(mw.content2)
mw.addDockWidget(QtCore.Qt.DockWidgetArea(1), mw.dockWdg2)
mw.dockWdg2.setWindowTitle("2nd dock widget")
mw.dockWdg3 = QtGui.QDockWidget(mw)
mw.content3 = QtGui.QTreeWidget()
mw.dockWdg3.setWidget(mw.content3)
mw.addDockWidget(QtCore.Qt.DockWidgetArea(1), mw.dockWdg3)
mw.dockWdg3.setWindowTitle("3rd dock widget")
mw.show()
app.exec_()
'QMainWindow' deve sempre avere un widget centrale ma puoi provare a impostare la sua dimensione su 0. – alexisdm
@alexisdm, beh, come farlo? Puoi per favore pubblicare un codice che mi può aiutare? Grazie! –
Ad esempio, con 'mw.setCentralQWidget (QWidget())' e 'mw.centralWidget(). SetFixedSize (0,0)'. [Quella domanda] (http://stackoverflow.com/q/10067821/894321) mostra il tipo di problemi che puoi avere senza impostare il widget centrale. – alexisdm