Qt 在运行时加速创建数百个按钮

Qt 在运行时加速创建数百个按钮,qt,Qt,我在运行时创建了数百个按钮,并将它们添加到布局中。每个操作可能会触发许多重绘、布局重建等操作,这些操作对于每个按钮都不是必需的,但在创建所有按钮时,可以在添加结束后调用这些操作。在Lazarus world中,开源Delphi的替代方案是对持有耗时触发器的表单取消自动调整/启用自动调整。找不到任何类似的Qt。 在另一种情况下,我也需要这样的功能。假设你有一个复杂的用户界面,里面有很多小部件和child等,你想完全重新安排用户界面,改变布局,将小部件移动到另一个布局等。通常我有时会看到闪烁。我想停

我在运行时创建了数百个按钮,并将它们添加到布局中。每个操作可能会触发许多重绘、布局重建等操作,这些操作对于每个按钮都不是必需的,但在创建所有按钮时,可以在添加结束后调用这些操作。在Lazarus world中,开源Delphi的替代方案是对持有耗时触发器的表单取消自动调整/启用自动调整。找不到任何类似的Qt。 在另一种情况下,我也需要这样的功能。假设你有一个复杂的用户界面,里面有很多小部件和child等,你想完全重新安排用户界面,改变布局,将小部件移动到另一个布局等。通常我有时会看到闪烁。我想停止应用程序绘制-重新排列小部件-启用绘制


编辑:找到了已启用SetupDateSenable的内容。还有什么吗?

请告诉我你需要数百个按钮做什么?不,我想不出任何东西需要你一次创建数百个按钮,一定有更好的方法。这是XY问题。如果用户界面问题的解决方案是创建数百个按钮,那么您的解决方案是错误的。还有QLayout::setEnabled,但似乎没有帮助。最简单的解决方案是在添加按钮之前隐藏小部件。如果不想隐藏主窗口,请在表单中放置一个容器小部件,并将其隐藏。