问题标签 [qmainwindow]

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 回答
1522 浏览

c++ - 显示图像时在最小化/最大化期间保留纵横比?

我正在尝试使用 qt creator 实现一个可扩展的图像小部件,它将保留图像的纵横比。我发现的所有示例或帖子都建议扩展 QLabel 并重新实现 resizeEvent。这就是我所做的,它几乎可以工作,但有一些问题。

  1. 当主窗口第一次打开时,图像会稍微变大并扩大主窗口的大小(这不是太大的问题)。

  2. 当我最大化窗口时,所有图像都会放大,但是当我取消最大化窗口时,图像无法缩小。

我尝试更改 QLabel 子类(称为 ClickableImage)和包含 ClickableImage 布局的父小部件的 resizeEvents。这是一些相关的代码。

此外,我还阅读了以下资料,

Qt:调整包含 QPixmap 的 QLabel 的大小,同时保持其纵横比

https://docs.huihoo.com/qt/4.2/desktop-screenshot.html

谢谢。

0 投票
1 回答
614 浏览

qglwidget - 如何将 QMainWindow 调整大小事件传递给 QMainWindow 中包含的 QGLWidget?

最初,我遵循http://qt-project.org/wiki/How_to_use_OpenGL_Core_Profile_with_Qt的结构。我创建了一个 vanilla Visual Studio 2010 Qt 应用程序项目,单击 .ui 文件启动 Qt Designer,插入一个 QWidget 并将其提升为 myglwidget。然后我创建了 QGLWidget 的 myglwidget 子类。

效果很好,我得到了我的红色三角形。

问题是当主窗口调整大小时,myglwidget 不会收到任何调整大小事件,即使我将小部件大小属性设置为“扩展”也是如此。

当我重构我的应用程序构造函数以调用 setCentralWidget(&myglwidget_) 代码编译并运行但没有出现 OpenGL 窗口。

我没有看到如何调整我的小部件以匹配主窗口大小。我也不明白为什么 setCentralWidget 方法不起作用。

我相信我知道如何通过编写明确的 Qt 代码来解决问题,但这违背了我尝试使用 Qt Designer 在 Qt 中构建 OpenGL 应用程序的目的。

0 投票
1 回答
45 浏览

windows - 打开应用程序时指向表格的特定部分

我正在使用 Qt 在 Windows 中开发应用程序。此应用程序显示一个包含一些数据的表格。根据特定行突出显示的时间。应用程序的窗口大小是固定的。行数超过了窗口的高度,所以我们必须向下滚动才能看到整个表格。我想实现这一点:当我打开应用程序时,它应该向我显示突出显示的行可见的表格部分。我不应该需要向上或向下滚动来搜索突出显示的行。但是行的顺序必须保持不变。你是怎样做的?

0 投票
0 回答
910 浏览

c++ - 在 QDockWidget 停靠时自动调整 QMainWindow 的大小

我有一个 QWidget 扩展以适应 QMainWindow。我可以停靠一个 QDockWidget,但前提是它适合当前的 QMainWindow 大小。

即使 QMainWindow 太小,我也希望能够删除 QDockWidget,在这种情况下调整它的大小以适应小部件。

可能吗?

从评论编辑:

当我将小部件拖到主窗口上时,窗口太小而无法容纳小部件,它不会停靠。因此,我不能使用停靠或取消停靠时发出的QDockWidget信号。信号。topLevelChanged(bool)QDickWidget

0 投票
2 回答
447 浏览

c++ - QMainWindow 从 main() 函数打开,但不能从任何其他函数打开

我的 Qt 应用程序有一个奇怪的问题。我有一个QMainWindow,方便MainWindow

以下代码适用于该main()函数:

但是,以下内容根本不显示 MainWindow:

0 投票
1 回答
434 浏览

c++ - Qt - 即使 QMainWindow 太小也允许停靠

我之前的问题没有回答,所以让我改写一下:

无论小部件和窗口的大小如何,都可以QMainWindow接受对接吗?QDockWidget

目前,如果窗口太小而无法容纳 a 的最小尺寸QDockWidget,它将不会停靠。如果主窗口可以增长以适应小部件,那将是理想的。

提前致谢!

0 投票
2 回答
1837 浏览

qt - 为什么不添加菜单?

我显然在这里遗漏了一些东西;为什么这个小示例应用程序中没有添加文件菜单?

编辑:

好的,看起来这实际上是一个 unicode 问题。这是另一个示例应用程序:

这个应用程序没有“文件”或“退出”或“退出”——但如果我注释掉该行,或者将引用的字符串包围起来,它就可以工作,而不是from __future__self.tr(str('foo'))self.tr('foo')

编辑2:

这应该打印'foo',但什么也不打印。

0 投票
1 回答
5934 浏览

python - PyQt:从对话框访问主窗口的数据?

所以,我正在使用 Python 和 PyQt。我有一个包含 QTableWidget 的主窗口,以及一个以模态方式打开并具有一些 QLineEdit 小部件的对话框......到目前为止还好,但我有 2 个问题:

  1. 当对话框打开时,我的主窗口冻结,我真的不喜欢这样......

  2. 我想要的是,当我完成 QLineEdit 的编辑时,程序将搜索 QTableWidget,如果 QLineEdit 中的文本存在于表格中,则会出现一个对话框并告知这一点。这是一般的想法。但是,到目前为止,我似乎只能创建一个新的 QTableWidget 实例,并且我不能使用现有的数据......

我能对这些做些什么?

0 投票
1 回答
224 浏览

c++ - Qt4:从 QDockedWidget 的子类访问 QtDesigner 创建的小部件

我敢打赌,我的问题从它的标题来看很明显,但也可能不是 =)
所以让我详细解释一下……我创建了一个 QDockWidget,然后使用设计器将其转换(我的意思是提升为……)它为子类.

那么如何正确访问我放置的小部件?这个想法是所有子类的对象都在子类中处理。问题(您可能知道)是

返回这个:

而且它们都不包含我想要获得的QLabels和其他tish)。然而,查看 ui_mainwindow.h 可以对此事有所了解。小部件位于 dockWidgetContents_3 上,它是一个没有父级的 QWidget。所以唯一的方法似乎是通过 MainWinsow 的 ui->... 访问它,并且考虑公开 ui 让我成为一个“非常悲伤的熊猫”......

提前致谢!

0 投票
1 回答
351 浏览

qt4 - QTranslator 仅适用于我的程序的某些部分

我在翻译我的 qt 应用程序(Windows 上的 qt 4.7.4)时遇到了一个奇怪的问题。会发生以下情况:

1.- 我执行 lupdate 并生成一个 .ts 文件。

2.- 我用 qt linguist 编辑生成的 .ts 文件。

3.- 我使用之前的 .ts 文件执行 lrelease。

4.- 从 Netbeans,我清理并构建项目,然后运行它。

当我的应用程序运行时,大多数小部件(标签、按钮、标题、菜单操作、菜单)都会根据我之前生成的翻译文件进行翻译。问题是一些元素没有被翻译,尽管我在翻译文件中为它们提供了翻译(Qt Linguist 识别它们)。

我的问题是:为什么有些文本被翻译而其他文本被忽略是有原因的吗?

我确保每个文本都在 tr() 中。(正如我之前所说,它们都出现在 Qt Linguist 中)。

感谢所有的帮助。