Tôi đang cố gắng tạo đơn đăng ký gồm QMainWindow
, tiện ích con trung tâm là QToolBar
(có thể không bình thường, nhưng vì mục đích của tôi, thanh công cụ rất phù hợp). Docks chỉ được phép bên dưới. Tôi đã thêm một số QDockWidget
vào đó và QAction
trên QToolBar
bật và tắt QDockWidget
và tắt bằng removeDockWidget()
và restoreDockWidget()
.Cách thay đổi kích cỡ QMainWindow sau khi xóa tất cả DockWidgets?
Kích thước mặc định của QMainWindow
là 800, 24, QToolBar
’maximumHeight
cũng được đặt thành 24. Ngay sau khi removeDockWidget()
được gọi, hình học của QMainWindow
được đặt lại thành (0,0,800,24)
với setGeometry()
.
Điều tôi muốn đạt được là thay đổi kích thước chiều cao của QMainWindow
thành 24 khi xóa DockWidget
. Các setGeometry()
dường như làm việc kể từ khi chiều rộng và vị trí thay đổi cho phù hợp, nhưng vui vẻ đủ, chiều cao không nhúc nhích. Và đó là vấn đề của tôi thực sự :)
Bạn nghĩ sao?
Here is a screen-cast minh họa sự cố trong tầm tay.
NB: nếu tôi tạo ra kịch bản tương tự sử dụng một QWidget hơn QMainWindow, và sử dụng một show()
hoặc hide()
trên widget con, sau đó tôi có thể thay đổi kích thước phụ huynh với adjustSize()
mà không vấn đề: có vẻ như vấn đề ở đây trên là QMainWindow cụ thể .
bạn có thể cung cấp cho các liên kết đến mã của bạn? Bạn đang sử dụng phiên bản Qt nào? –