问题标签 [qlayout]

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 投票
2 回答
90 浏览

qt - Is is possible to edit an individual Widget in the QtDesginer?

I got a external library, which includes a derived class from QGLWidget, very similar to that one here. In that library I have a class:

This extends Qt's native QGLWidget and personalizes it. But it was not written by me, I just got it, via a *.dll. So then, I bind that Widget manually in my code to a layout like:

since I designed my MainWindowWidget with the integrated QtDesigner, which is by the way very comfortable, I would like to handle my myPictureGLWidget also in the QtDesigner, since I am currently redesigning the MainWindow.

Is there a way doing that? Thnx in advance!

0 投票
2 回答
193 浏览

qt - Qt奇数布局排列

我得到了以下安排(原文在这里):

测试图像

五个非常规大小的按钮(w:400,h:300),它们的排列方式如下:四个方形模式(两个在顶部,两个在底部),紧密结合在一起,第五个按钮在中心,重叠其他四个按钮的交集。我想知道在展开、最大化和/或最小化窗口时是否可以使用任何布局(网格布局、表单布局等)来保持这种排列?谢谢你的帮助。

0 投票
2 回答
2177 浏览

qt - 从 QLayout 中删除 QWidgets?

我用我在运行时创建的对象QVBoxLayout动态地填充我的对象。QWidget我也想在运行时删除它们,但是如何?

我可以一一删除小部件:

我可以以某种方式迭代布局吗?

0 投票
0 回答
479 浏览

qt - 链接器错误:对类方法的未定义引用

我有以下非常简单的 Qt项目

我有

我刚刚在超类 Abstractwidget 中将 setValue 设为虚拟,它会导致以下链接器错误:

moc_abstractwidget.cpp:-1: Fehler: 未定义对“AbstractWidget::setValue(QVariant const&)”的引用

collect2.exe:-1: Fehler: 错误: ld 返回 1 退出状态

重建所有和清理没有帮助。为什么链接失败?

  1. 摘要是一个不好的命名法,对不起我的不好。将其视为一个超类(不是抽象的),我从中派生出其他类。

  2. 我动态注入 MainWindow::Ui::QVBoxLayout 那些 AbstractWidget 类(例如,我有多个 SliderWidgets 和 ColorPickerWidget : public Abstractwidget 也是如此)。我只是想保持简单。

  3. 为什么派生?我有多个从 AbstractWidget 类派生的 QWidget(除了 SliderWidget)。它们都有一个 QString 名称。我想在基类 ==> AbstractWidget 中提供该名称。

  4. 为什么 virtual void setValue():每个派生类都有一些类似滑块、颜色选择器等的东西。我在每个派生类中实现了一个 setValue(QVariant),以便颜色选择器设置 QColor(QVariant::toString()),而 SliderWidget 设置带有 setValue(QVariant::toInt()) 等的滑块值。 setValue 在任何地方都是公共的(虚拟基类和派生实现)。

0 投票
1 回答
51 浏览

qt - 不清楚行为 maximumSize 和 sizePolicy

我有一个带有 3 个按钮的简单窗口。窗口的属性 sizePolicy 是 Fixed、Fixed。几何尺寸为 266、115。最小尺寸为 266、115。最大尺寸为 16777215、16777215。

我是这样想的:“如果 sizePolicy 是固定的,那么我不能以任何大小拉伸窗口。它必须像几何图形一样。如果 sizePolicy 是 Expanding 或 Preferred,我可以将窗口从最小尺寸拉伸到最大尺寸”

现实生活中,我发现只有一种不允许拉伸窗口的方法是设置 maxSize = minimumSize。

为什么 sizePolicy 的工作方式不清楚?它有效吗?我做错了什么?

我的英语不是很好,所以要宽容。

0 投票
1 回答
436 浏览

qt - 在Qt中手动设置窗口布局的正确方法

我需要一个 QMainWindow 布局来根据内核数量进行更改。因此我手动设置它(不使用设计模式)。

我的问题是:创建此布局后,如何引用它包含的小部件?

我可以从this->centralWidget(). 或者我可以在 MainWindow 类的布局成员中制作所有小部件并直接访问它们。

但是,我觉得这些都不是正确的方法。

有没有办法将小部件传递给 ui?这样我就可以通过调用来访问它们 ui->threadingTable

0 投票
0 回答
114 浏览

c++ - 使用 CSS 调整其中一个子项的大小后,如何强制重新计算布局?

我有一个带有两个小部件(实际上是垂直布局本身)的对话框,中间有一个间隔,排列为水平布局,就像这样(布局“线条”是红色的):

在此处输入图像描述

我还有一个在运行时加载和解析的全局样式表。问题是,这个样式表改变了左侧布局中一些小部件的高度,但主布局似乎没有考虑到这一点,所以当应用程序运行时,它看起来像这样:

在此处输入图像描述

我的理解是调整主布局的大小以补偿在左侧布局中容纳小部件所需的额外空间,但右侧布局随后不会调整大小以适应其父级中的额外空间,这看起来很难看。我在所有布局中使用默认大小约束。

我能做些什么来强制正确的布局调整自己的大小?

0 投票
1 回答
1628 浏览

qt5 - 所需空间最小的 QLayout

我有一个 QVBoxLayout 我在运行时动态添加其他 QWidget s:

这些添加的小部件之间有很多浪费的空间: 在动态 QWidegts 之间浪费空间

当我运行应用程序时,我可以用鼠标压缩高度。

用鼠标拖动边框压缩空间

通过 setMaximumheigth() 限制每个 widgetList_i 小部件高度是一个不错的方法,但是我在开头和结尾浪费了空间: 最大高度

仅添加 aui->vertivalLayout->addStretch(1);会导致最后出现空白。该布局的开头很好: 在此处输入图像描述

主要问题:是否有一个函数可以将添加的小部件的布局高度设置为最小?
附带问题:如何向该小部件添加垂直滚动条?

编辑: - 添加一个 spaceritem 使情况变得更糟:空间项目并不能解决我的问题

0 投票
1 回答
774 浏览

c++ - 无法从 QVBoxLayout 中删除自定义 QWidget

这是一个相当有据可查的问题,但经过一些阅读和尝试,我仍然在努力从QVBoxLayout.

MyClass.h文件中,我声明了一个向量来保存QPointer对象:

MyClass.cpp文件中,我正在创建小部件并将其添加到布局中:

我尝试了以下方法从布局中删除小部件:

以上都不起作用,我无法弄清楚原因。

0 投票
2 回答
853 浏览

qt - 当小部件集更改时,调整 QWidget 的大小以仅保存当前小部件

假设有一个QWidget布局是垂直的。此布局有一个按钮 (bt1) 和另一个布局 ( hLayout)。

该应用程序可以运行,以便单击 bt1 添加/删除hLayout.

第一次添加按钮时,窗口变大(宽度增加)以保持新按钮。下一次单击隐藏按钮。但是隐藏按钮不会使窗口缩小。我希望与添加按钮之前的大小相同。

删除按钮时正确缩小窗口的方法是什么?或者更一般地说,使窗口获得足够大小的方法是什么?