问题标签 [qwidget]

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

c++ - Qt - installing layout manager on window

In the C++ GUI Programming with QT book, it mentions the following regarding QWidget::setLayout(): When called, it installs the layout manager on the window.

What does that mean?

Thanks.

0 投票
1 回答
425 浏览

qt - 如何将 QPushButton 连接到提升的 QWidget?

我有一个 QWidget 容器,其中包含我的自定义小部件。这个 QWidget 容器被提升为我创建的自定义小部件。我的 MainWindow.ui 上有一个 QPushButton。我想将此 QPushButton 连接到提升的 QWidget。我将如何做到这一点?

例如,我在提升的 QWidget 类上有一个函数,我想在单击位于 MainWindow.ui 的 QPushButton 时调用此函数。

提前致谢!

0 投票
1 回答
1999 浏览

qt - 基于样式表伪状态值绘制自定义 QWidget

我有一个自定义QWidget(实际上,源自QAbstractButton),我必须实现我自己的paintEvent. 如何使用样式表信息?

例如,假设有人定义了以下适用于(直接或通过继承)我的自定义类的样式表:

在我的paintEvent方法中,如何获得正确的背景颜色以显示选中状态?

我想我必须这样做:

如何让画笔用于 Qt 从样式表中解析的检查状态背景?

0 投票
2 回答
2189 浏览

qt - QWidget *parent 作为用户定义类的构造函数中的参数

在我之前的帖子中,这里的人告诉我,每个小部件都有一个父级,这有助于在删除的情况下,即当父级被删除时,子级会自动被丢弃到 /dev/null。

现在我看到QWidget *parent被传递给用户定义类的构造函数,在这个链接中:http://doc.qt.io/archives/qt-4.7/tutorials-addressbook-part1.html class AddressBook : public QWidget { Q_OBJECT

这说明什么?

0 投票
2 回答
1084 浏览

qt - 如何隐藏在 qt 中生成信号的小部件

假设我们有多个小部件,并且它们都有主菜单按钮。所以我将所有主菜单按钮点击信号连接到一个插槽,这应该是

我有

在 mainClicked 我想隐藏触发点击信号的人。上例中的 frame1 或 frame2。

我可以使用 sender() 来检索触发信号的 QObject,但是如何调用 hide 哪个是 QWidget 函数?

感谢您的帮助。

0 投票
1 回答
825 浏览

c++ - Qt:是否允许非矩形 QWidget 重叠?

如果我有多个非矩形自定义QWidget(例如圆形按钮),我可以重叠它们吗?

似乎没有办法让 Qt 知道小部件的哪些部分是不透明的,因此鼠标事件被传递给正确的QWidget(看起来 Qt 假设每个小部件都占据其边界矩形)。

我应该把这些小部件变成QGraphicsItems 吗?

0 投票
2 回答
18407 浏览

qt - 如何在 Qt 中将数据从一种形式传递到另一种形式?

如何在 Qt 中将数据从一种形式传递到另一种形式?
我创建了一个 QWidgetProgect -> QtGuiApplication,我目前有两个表单。现在我想将数据从一种形式传递到另一种形式。

我怎样才能做到这一点?

谢谢。

0 投票
7 回答
1850 浏览

c++ - Qt:子对象可以在其父对象中组合吗?

在 Qt 中,我可以通过组合将子小部件嵌入到它们的父级中,还是必须使用new?

文档说,任何派生自的对象QObject都会在其父对象被销毁时自动销毁;这意味着调用delete,在上面的示例中会崩溃。

我必须使用以下内容吗?

编辑

答案是多种多样的,基本上可以归结为三种可能性:

  • 的,构图还可以。Qt 可以弄清楚对象是如何分配的,并且只有delete堆分配的对象(这是如何工作的?)
  • 的,组合是好的,但不要指定父级,因为父级否则会调用delete对象(但是没有父级的小部件不会变成顶级窗口吗?)
  • ,小部件总是必须在堆上分配。

哪一个是正确的?

0 投票
2 回答
923 浏览

delegates - qwidget.render 在 QStyledItemDelegate 中绘制偏移

我正在尝试创建一个委托以将自定义小部件绘制为图标模式下列表视图中的元素。我或多或少地工作,但我无法让小部件在正确的位置绘制,似乎考虑到主窗口上的(0,0)原点而不是列表视图的原点,它们正在被绘制。我需要传递什么才能在正确的位置呈现小部件?我知道我可以传递一个偏移量...如何计算主窗口和列表视图之间的偏移量?

这是我的委托上的绘制方法(源自 QStyledItemDelegate)

谢谢

/J

0 投票
3 回答
7562 浏览

qt - Qt4:将 QMainWindow 实例放在其他 QWidget/QMainWindow 中

我想将 QMainWindow 实例放在另一个 QWidget 中(例如另一个 QMainWindow 的 centralWidget)。

我想知道为什么它不起作用?QMainWindow 直接继承自 QWidget。将 QWidget 放在另一个 QWidget 中可以正常工作。

我经常将 QMainWindow 实例放在 QTabBar 中没有任何问题。

ps 你可能会问为什么我需要使用 QMainWindow ?我想使用垂直布局在 1 个表单中放置 2 个小部件。我希望两个小部件都直接在它们上面有单独的工具栏。

也许还有其他方法可以使用 QtCreator 在普通 QWidgets 中放置工具栏?


编辑

第一个例子(工作正常)

我基于 QWidget 创建新的类/表单。(QtCreator 基于标准模板创建 3 个文件 *.cpp、*.h 和 *.ui)。

类声明看起来像这样

当我尝试使用此小部件并将其放在另一个小部件中时,它工作正常。我使用了 qtcreator 的“提升到...”功能 - 这里没有问题。

第二个例子(不起作用)

我基于 QMainWindow 创建新的类/表单。(QtCreator 基于标准模板创建 3 个文件 *.cpp、*.h 和 *.ui)。

类声明如下所示:

现在,当我尝试将此小部件放在另一个小部件中时,它不可见。和以前一样,我使用了 qtcreator 的“提升到...”功能。

两个小部件(第一个基于 QWidget,第二个基于 QMainWindow)具有基于标准 qtcreator 代码模板的相同默认结构。我在这里没有做太多改变——只是在表单设计器中添加了一些按钮。

在第二个示例中,我尝试在类实例上使用 setEnabled(true) 和 setVisible(true)。第一个没有结果。第二个在单独的窗口中打开这个小部件。


我认为最大的问题是什么 probibits QMainWindow 嵌套在另一个 QWidget 中。正如我之前写的那样,QMainWindow 实例可以毫无问题地放置在 QTabWidgets 中。