如何在Qt中编程更新UI ?
How do you programatically update the UI in Qt?
我是相当新的Qt,我试图把我的头围绕信号和插槽。虽然我已经弄清楚了如何创建自定义槽,但我还没有弄清楚如何从我的c++代码更新GUI。我意识到,我在设计器中创建的整个UI只是用看似基于XML的UI代码编写的。为了更新界面,我必须手写自己的Qt c++ UI吗?或者我可以用c++来更新基于XML的UI吗?我只是想添加一个小部件,以一个按钮单击的主要形式。任何帮助都是感激的。谢谢!
要在表单中添加小部件,只需执行
ui->layout()->addWidget(new Widget);
QtDesigner使用XML作为创建、更新和持久化GUI的手段,支持可视化方法进行开发,但最终您可以完全不使用来构建应用程序。
你不需要更新UI的xml。你可以使用setupUi将ui继承到你自己的类中http://crpppc19.epfl.ch/doc/qt4-doc-html/html/qwidget.html setupUi
现在在你的c++类中,你可以更新小部件,如改变标签文本,lineEdit文本,设置spinbox值使用信号&槽。
xml使用Qt设计器和外部使用的设计师只有uic源生成c++代码,因此你所做的一切都在设计师绝交c++代码,所以它可以被更新(或完全)在c++代码(您可以查看代码,看看,你很可能有一个成员叫 ui 这是最有可能的一个指针,但它也可以是一个c++类的实例为您生成的uic,通过这个UI成员,你可以访问你在设计器中创建的小部件和布局。
我建议你在这里找到一个通用的资源,然后(如果你仍然不能弄清楚)问一个具体的问题,关于你到底想要实现什么。
LE:该链接包含3种方法,可以将生成的代码转换为c++代码,不要将所有方法都尝试到您的工作项目中,您可以选择一种方法或使用默认方法(ui成员指针)
- 从C++本机插件更新Vector3数组
- QGraphicsPolygonItem在拖动时未更新QPolygonF坐标
- 如何在MS Visual Studio 2019中运行QT UI
- cmake更新缓存的变量
- 在 3ds Max 中更新进度条后,环境和效果 UI 不刷新
- 发出信号以从线程更新 UI
- QT Creator不会更新.UI文件和设计器
- 使用委托从后台任务更新 UI
- 默认情况下,从工作线程发出Qt::信号会使主线程上的UI更新?
- 线程在更新 UI 之前启动
- 使用C++中的NDK更新Android UI
- 在Qt中从后台更新UI(QtConcurrent)
- wxwidgets UI 更新:声明窗口标识符
- MFC 的"更新命令 UI"系统如何工作?
- Gtkmm : 如何从另一个线程更新 UI?不断
- 当GL更新大于15 Hz时,Qt UI冻结
- 如何在Qt中编程更新UI ?
- 在WinRT中从异步任务lambda更新UI
- 如何拦截更新命令UI消息CN_UPDATE_COMMAND_UI
- 如何处理大容量模型更新场景中无响应的UI