Qt
- Official Site: qt.io
- Download: http://download.qt.io/
Tips
- 如果要在非主线程运行qt——比如包装在dll里供非qt程序调用qt界面——那么要确保 QObject 不能在 QCoreApplication 之前实例化,即不能用 QThread 来执行创建运行 QCoreApplication , 因为QThread 必定比 CoreApplication 早实例化。 可以使用原生线程,或者 std::thread, 来确保。
- 隐藏控件后仍然占位不重新排版的方式(qt5.2之后):setRetainSizeWhenHidden
QSizePolicy sp = widget->sizePolicy(); // widget 是要隐藏的控件 sp.setRetainSizeWhenHidden(true); widget->setSizePolicy(sp);
- 坑:widget 的
visible
属性是个即时结果值,受父窗口链影响。- 官方文档:Calling
setVisible(true)
orshow()
sets the widget to visible status if all its parent widgets up to the window are visible. - 只有父窗口链都可见时它才是可见的,此时
visible
才是true
。所以窗口初始化时(主窗口未显示时), 所有子控件 visible 都是 false。