问题标签 [uic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
545 浏览

qt - 如何使用 setupUi 或 uic 输出来创建没有父小部件的独立布局?

uic 从.ui文件生成的输出始终将布局和子小部件安装在现有小部件上。当您打算直接在 a 上添加布局/子项时,这非常有用widget

唉,有时干预小部件是不必要的。首先,小部件上的布局具有非零边距,因此如果您打算将 的内容插入Ui::Form到布局中,则必须重置边距:

此外,在这种情况下,干预小部件是完全不需要的。假设我们setupUi不需要顶级小部件(从 Qt 5.7 开始,它在传递 nullptr 时崩溃)。我们可以按如下方式使用它:

我已经检查过uic了,它不支持在没有顶级小部件的情况下发出代码。确实,所需的补丁是微不足道的。

然而,有没有办法在不修补 Qt的情况下实现nullptr-accepting的效果?setupUi

免得有人认为这是一个虚构的问题:这个问题部分是由 YUView 的这段代码提示的。在那里,parentWidget传递给setupUi已经有一个布局,目的是在完成后将表单的布局添加到另一个布局setupUiQWidget::setLayout从内部调用setupUi拒绝设置新布局,发出警告,尽管如此,事情还是发生了。代码很脆弱,因为它依赖于 Qt 代码以正确的方式破坏以产生所需的结果。

0 投票
1 回答
1471 浏览

c++ - QT 创建者如何使 UI 生成的类继承其他类?

我们知道,当使用 QT creator 构建带有 ui 文件(例如 mainwindow.ui)的项目时,它会自动为该 .ui 文件生成一个带有类定义(例如 ui_mainwindow.h)的 .h 文件。.h 中生成的类如下:

qt .ui 文件生成类

我的问题是如何使生成的类如下:

0 投票
1 回答
2287 浏览

python - 自定义 Qt 设计器小部件的代码?

我需要在使用 Qt 设计器创建的表单中向图形小部件添加一些功能。

例如,我通常会做这样的事情:

但在这种情况下,图形视图是我在 Qt Designer 中创建的窗口的一部分。我知道您可以在 Qt 设计器中使用“提升到”功能,但我不知道如何在代码中使用它,特别是考虑到我使用这种方法来使用 Qt 设计器窗口:

那么,当我使用 Qt Designer 时,我将如何在我的窗口中自定义图形视图的代码呢?

0 投票
1 回答
650 浏览

python - 如何使用 uic 模块创建一个打开另一个窗口的窗口?Qt-Designer 和 Python

我在尝试使用 PyQt5 和 QT 设计器开发 GUI 时遇到问题。

我想使用该uic模块,我有一个.ui名为 的文件registro.ui,还有另一个login.ui,因为我可以login.ui通过registry.ui单击按钮调用registro

我也分别有Login.py,Registro.py 文件

我的意图是点击注册按钮,然后打开注册窗口

只使用uic.loadUI()方法?

在这里我展示我的代码

班级登录 login.py

类注册: Registro.py

0 投票
1 回答
743 浏览

c++ - 在 Qt 中使用 CMake:位置 ui_*.h 无法被 Qt Creator 识别

我尝试使用Qt Creator来管理用户界面文件*.ui

mainwindow.cpp

mainwindow.hpp

CMakeLists.txt

当我将光标放在#include "ui_mainwindow.h"文件名上并 pushF2时,我收到以下错误消息:

错误消息框

我已经调查了这个问题:它来自不同的位置,在文件中提到D:/Projects/build/proj/Debug/src/gui/CMakeFiles/gui.dir/CXX.includecache

这是两个连续的行,仅包含ui_mainwindow.h整个文件中的子字符串。第二行包含错误的位置,即使我添加target_include_directories(${PROJECT_NAME} PRIVATE "${PROJECT_BINARY_DIR}/gui_autogen/include")CMakeLists.txt,那么cmake任何一种方式都无法生成正确的缓存文件。

对此有什么解决方法?我想我可以在CMake发行版的Qt子系统中编辑(修补)一些*.cmake文件。我几乎可以肯定这与指令和其他东西密切相关。CMAKE_AUTOMOC

额外的:

主要问题是我无法从表单编辑器的Go to slot上下文菜单项创建插槽以从Qt Cretator自动生成插槽。

0 投票
2 回答
1116 浏览

qt - cmake 2.8.12.2 AUTOUIC 不工作:错误或缺少功能?

我正在用 CMake 构建一个 Qt 项目。在 macOS 或 Windows 上使用 cmake-3.8.2 一切正常。在我有 cmake-2.8.12.2 的 Ubuntu 14 上,运行 moc,但未运行 uic。在CMakeLists.txt我有:

并且 .ui 文件没有在任何地方指定(但具有相同的类,所以我有 SDFDialog.h、SDFDialog.cpp、SDFDialog.ui)

在带有 cmake-2.8.12.2 的 Ubuntu 14 上,这是输出:

而在具有 cmake-3.8.2 uic 的 macOS 上正确运行:

这是错误还是缺少功能?如果缺少功能,最低要求的 cmake 版本是多少?是否有一些解决方法可以让 uic 在 cmake-2.8.12.2 上运行而无需过多更改CMakeLists.txt ?

0 投票
3 回答
622 浏览

c++ - 如何在 Qt Designer UI 文件中清除 QMainWindow 的几何标记

Qt Designer 添加了一个几何标记,其中包含以绝对单位(像素)表示的小部件的默认大小。

这真的很烦人,因为如果你ui在 4k 显示器上编辑一个文件,你所有的uis 将(默认情况下)在较低 DPI 系统上显示大量空白。

如果我手动删除此标签,我的窗口在首次显示时具有预期的大小,但每次ui在 Qt Designer 中打开它们时手动编辑每个文件都会感觉不对。

我正在使用 Qt 5.9。

阻止 Qt Designer 添加此 XML 标记的典型方法是什么?

example.ui

0 投票
1 回答
4341 浏览

qt - CMake Qt UIC 失败

我目前正在将我的项目从 QMake 移动到 CMake,并且我遇到了 Qt UIC 的问题,它试图处理一个不存在的 ui 文件,而不是我希望他处理的实际文件。

我有以下架构

这是我的cmake

我有以下错误:

这个错误是完全合乎逻辑的,因为我的源文件夹不包含 ui 文件。我试图包装 ui 而不是使用 autouic,但它也不起作用。

0 投票
1 回答
162 浏览

qt4 - Qt5:基于文本 ID 的翻译。将自定义参数添加到 uic

我在我的项目中使用 Qt 5.9,我必须使用基于 ID 的翻译。我的问题是,我无法更改 uic 可执行文件的参数。qmake 变量“QMAKE_UIC”已在 Qt 5 中删除。

有谁知道,我如何将参数“-tr qtTrId”添加到 uic 命令,以便我能够将基于 ID 的翻译与 .ui 文件一起使用?还是有另一种方法告诉 qmake 使用基于 ID 的翻译?

感谢你们

0 投票
0 回答
123 浏览

cross-compiling - 我们如何交叉编译 qmake?

qt5(5.9.2)交叉编译时,会为宿主机生成qmake/moc/rcc/uic工具。是否可以为目标设备生成(交叉编译)它们?

谢谢。