sách gpt4 ai đã đi

qt - 如何在不改变其他 Qt 小部件的位置的情况下使 Qt 小部件不可见?

In lại 作者:行者123 更新时间:2023-12-03 07:23:38 32 4
mua khóa gpt4 Nike

我有一个充满 QPushButtons 和 QLabels 以及各种其他有趣的 QWidget 的窗口,所有这些都使用各种 QLayout 对象动态布局...而我想做的是偶尔制作一些这些小部件变得不可见。也就是说,不可见的小部件仍然会占用窗口布局中的正常空间,但它们不会被渲染:相反,用户只会在小部件的矩形/区域中看到窗口的背景颜色。

hide() 和/或 setVisible(false) 不会起作用,因为它们会导致小部件完全从布局中删除,从而允许其他小部件扩展以占用“新可用”空间;我想避免的效果。

我想我可以为每个覆盖paintEvent()(VàmousePressEvent()等)的QWidget类型创建一个子类无操作(在适当的时候),但我更喜欢一个不需要我创建三打不同的 QWidget 子类的解决方案。

1 Câu trả lời

这个问题在 Qt 5.2 中得到了解决。可爱的解决方案是:

QSizePolicy sp_retain = widget->sizePolicy();
sp_retain.setRetainSizeWhenHidden(true);
widget->setSizePolicy(sp_retain);

http://doc.qt.io/qt-5/qsizepolicy.html#setRetainSizeWhenHidden

关于qt - 如何在不改变其他 Qt 小部件的位置的情况下使 Qt 小部件不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10794532/

32 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com