问题标签 [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 投票
4 回答
72892 浏览

c++ - 如何设置 QWidget 宽度?

如何设置QWidget宽度?我知道setGeometry(QRect& rect)函数可以做到这一点,但在这种情况下,我应该使用geometry()函数来获取我的以前的参数QWidget,然后我应该增加宽度并使用 setGeometry(..)。有没有直接的方法,比如:

0 投票
1 回答
12691 浏览

qt - Qt - 改变 QWidget 布局

假设我们有一个QWidget和一个包含其他小部件和布局的QLayout命名。设置为这样的布局:general_layoutgeneral_layoutQWidget

现在我应该更改QWidget. 我怎样才能做到这一点?我试图为 删除并创建一个新布局,QWidget并将该新布局设置为 的布局QWidget,但无法成功完成我的意图。

这是我的代码:

0 投票
3 回答
7258 浏览

c++ - QWidget - 调整动画大小

假设我有一个QHBoxLayout2 QTextEdits 并且在它们之间有一个带有向右箭头的按钮。当您单击按钮时,右侧会QTextEdit通过移动左边框逐渐关闭,直到与右侧边框相遇。同时,左边的右边边界QTextEdit代替右边QTextEdit释放的位置。并且在按下按钮后,系统的状态又回到了前一种状态。

编辑:为了组织这个,我做了以下事情:

1)在头文件中:

2)在源文件中:

编辑:

我有以下问题:

当我关闭第二个QTextEdit(通过单击按钮)并调整大小时MyWidget,它会QTextEdit恢复其状态(但它当然应该保持关闭状态)。我怎么解决这个问题?

请给我一个代码片段。

0 投票
1 回答
640 浏览

c++ - 为什么不能为 QWidget 的“maximumWidth”参数设置动画?

可能重复:
Qt - QPropertyAnimation 中存在错误?

我想为 QWidget maximumWidth 设置动画,以便在带有动画的布局中更改 thd 小部件的大小,但它不起作用。我试图做以下事情:

编辑:对于 minimumWidth 属性动画有效,但对于 maximumWidth - 没有。因此,我在他们的错误报告网站上打开了一个错误:here

0 投票
1 回答
435 浏览

qt - 如何知道小部件当前正在 Qt Designer 中运行

我如何在自定义 Qt 小部件的代码中知道它当前在 Qt 设计器中实例化?

用例:

我构建了一个复杂的自定义小部件,它有几个子小部件,如 QPushButton、QLabel 等。

根据应用程序逻辑的要求,当创建小部件时,大多数子组件是不可见的,但在设计时,当我将它放在我希望看到的表单上时。

能够在设计时使用样式表。目前我得到的是一个空的只是构造函数的结果 - 最小视图(在我的情况下实际上是空的)。

我正在寻找的是能够做类似的事情

那么我应该在这个bool isRunningInDesigner()中添加什么?

0 投票
2 回答
819 浏览

c++ - 如何防止 Gnome 在执行 alt-tab 时显示两个窗口?(c++ qt 应用程序)

(见编辑)

我正在 gnome 下开发一个 QT/c++ 应用程序。

该应用程序有一个主窗口和 QListBox 子窗口。

当我 alt-tab 离开应用程序时,这两个窗口都显示为单独的主窗口。

当我(或以后的用户)使用 alt-tab 时,我怎样才能使它只显示一个窗口?

我猜这种行为是因为一个主窗口没有剪辑子窗口 - 子窗口扩展了主窗口的边界。Gnome 对许多其他应用程序也有不好的 alt-tab 行为,显示模式对话框与主窗口分开。但就我的应用程序而言,这真的很烦人。

我想我可以制作一个包含两个现有窗口的巨大透明窗口。但是找到一个“干净”的解决方案会更好。

(最合乎逻辑的猜测确实是它与窗口标志有关。我已经尝试了我能想到的所有合理的标志组合。这里描述了窗口类型)

编辑:该应用程序有一个 QWidget 作为其主窗口(不是 QMainWindow),QListView 包含在 QWidget 对象中,并通过将一个点传递给主窗口来创建。用 Qt::Tool 设置样式 | Qt::FramelessWindowHint。

Edit2: Qt::X11BypassWindowManagerHint 样式确实可以从 alt-tab 列表中删除窗口。问题是它还使窗口“不受管理”,因此它覆盖了其他窗口。每当我失去焦点时,我都可以手动隐藏 - 现在奖励更好的解决方案。

0 投票
1 回答
1313 浏览

python - Qt:向中央小部件添加上下文菜单的最佳方法?

我不明白为什么在使用 Python 和 Qt 进行快速 GUI 编程一书中,通过调用addActions() 主窗口( )将上下文菜单添加到中央小部件self,如下所示 (p. 180):

其中self是 a QMainWindow,并且imageLabelQLabel作为中心小部件的集合

现在,为什么主窗口会以某种方式(通过self.addActions())与中央小部件的上下文菜单相关联?addActions()直接在中央小部件上调用还不够吗?事实上,以下内容确实创建了一个上下文菜单:

为什么本书不以这种方式示例上下文菜单?这不等同于更复杂的self.addActions(…)形式吗?

PS:我什至看到QMainWindow.addActions() 的文档甚至没有提到任何第一个参数(self.imageLabel上面的)!我完全不明白为什么这本书使用上面的第一个片段而不是最后一个片段……救命!:)

0 投票
1 回答
4171 浏览

user-interface - 用于只读、可滚动、可折叠、图标列表的 Qt 小部件

我对 Qt 比较陌生,对开箱即用的小部件并不完全熟悉。我有一个有点(但不是很)复杂的小部件要创建,并且不想重新发明任何轮子。什么是最好的 QWidget 用作子类和/或 QWidgets 的起点来组成我的小部件。这是我正在寻找的最终结果(为粗略的绘图道歉):

小部件

关键点:

  • 所有图标都将占用相同的大小,例如 128 x 128。忽略类别分组,它们都应该在一个漂亮的网格中对齐。
  • 小部件应该扩展以填充它可以占用的所有水平和垂直区域。水平扩展/缩小可能会增加/减少每行中显示的图标数量。
  • 图标是分组的,这些组应该是可折叠的。
  • 如果小部件的高度超过其空间,则应出现垂直滚动条。
0 投票
1 回答
2439 浏览

qt - 如何在其父项下隐藏 QWidget?

我有一个模态 QDialog,单击按钮会从其下方滑出一个无模态的子 QDialog。我遇到的问题是孩子在动画期间保持在其父母之上。

我想我可以在与父母重叠的孩子部分上应用面具,但感觉就像我错过了一种更明显的方式,将孩子放在父母之下。

我正在使用 Qt 4.5。这是一些示例代码:

提前致谢。

0 投票
5 回答
29207 浏览

qt - 如何清除父小部件中的所有小部件?

我正在使用构造函数QWidget(QWidget *parent)。这个父小部件包含很多子小部件。我需要在运行时从父级清除所有子小部件。我怎样才能做到这一点?