问题标签 [qframe]
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.
c++ - 我可以从样式表 (qss) 更改自定义动态属性吗?
我有这样的QFrame
习惯
我想在这样的qss
样式表中设置这些颜色
这不起作用,有机会这样做吗?
qt - 如何将 QTextDocument 作为小部件?
我需要构建一个基于QTextDocument
.
我的小部件.h
我的小部件.cpp
我不能addWidget
因为QTextDocument
是一个对象。如何构建我的小部件?
windows - 如何确保 QFrame 标题使用 Window 10 的“使文本变大”缩放自动缩放?
我有一个自定义面板实现,它继承自QFrame
. 我可以使用该setWindowTitle()
功能设置标题。我注意到我无法设置此标题的字体大小,但我期待此标题将根据 Windows 10 的文本缩放进行缩放。我使用的是 4K 显示器,我希望文本可以通过 Windows 设置进行缩放,但似乎并非如此。我已经设置了两者QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling)
,QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps)
因此整个应用程序和像素图像都正确缩放。
每个自定义面板的标题文本不受 Window 10 的“使文本变大”设置的影响,而主应用程序窗口的标题文本被正确缩放,使用 DrawText 函数绘制的那些文本被正确缩放。但是,我的自定义小部件的标题未正确缩放。Visual Studio 等其他应用程序的标签和文本由“显示设置”缩放顶部的“使文本更大设置”缩放。
我的自定义小部件也加载到 QDockWidget 中。我可以直接修改标题的字体大小,但我希望它能像应用程序标题栏一样正确缩放。
我能做些什么来解决这个问题吗?
帮助您理解问题的简化代码示例:我的主应用程序有一个 dockwidget 和一个自定义“面板”(由 QFrame 或 QWidget 继承)附加到它。(见下面的代码)
所以如果我添加以下代码,我可以直接调整标题的字体大小,但这是我自己手动更改的。我想要的是让它根据 Windows 的文本缩放因子(例如 150%、200% 等)自动缩放
所以我的问题是如何或是否可以通过控制面板中窗口 10 的文本缩放因子来缩放此自定义面板的标题(尤其是在高 dpi 情况下)?
更新: 我使用以下代码获取标题栏的高度,令人惊讶的是,在任何比例因子中,应用程序的标题栏和自定义小部件的标题栏给出了相同的值,尽管它们实际上看起来不同。当文本比例因子改变时,这些数字会改变。这是否意味着在处理缩放时,Window 实际上是如何看待应用程序及其附属小部件的?
更新2:
我从 Qt 论坛得到了一个相当不错的解决方案,因为 Qt5 的更高版本(Qt5.12.6)为我解决了这个问题(就像我在 Qt5.6.1 上一样)。显然已经进行了很多改进以帮助在高 dpi 监视器环境中使用。但有趣的是,在较新的更新中,Qt 决定缩放小部件的标题,而不是主应用程序的标题。
如果我想手动实现它并且当然不确定我是否可以在 Qt 环境中做到这一点,那么该解决方案肯定与如何创建一个与 Windows 管理器一起正常工作的小部件有关。QDockwidget 让我们设置自定义标题栏,这可能是绕过旧 Qt 版本中现有设置的唯一方法。
python - 复合小部件包含按钮、标签等。如何构建以及如何使用它
我正在寻找最合适的解决方案来创建复合小部件,我可以在应用程序的几个地方重用这些小部件(带有几个子菜单的图形控制界面,其中一些复杂的小部件将被重用)。
主要是我试图创建我将在几个地方使用的自定义 QWidget、QLabel 和 QFrame 对象。我准备了这样的例子:
它没有用。除了我测试的没有正面结果的其他方法之外,我期望我基于 Q tDesigner 构建的一种方法 - 创建自定义对象,该对象实际上添加到我的 QMainWindow 类中的其他小部件,但这不是我所期望的,我读到的应该是可能的。换句话说,我想到了带有子小部件的容器。真的有可能吗?
您能否建议我如何实现这一目标?如何创建自己的小部件,该小部件将从多个对象构建并将它们之间的整个逻辑保留在其类中?(根据逻辑,我理解按下一个按钮将显示另一个标签,而其他按钮将显示,等等......)
我遇到的问题之一是布局,它不允许我将这些标签放置在我想要的位置。
这是它应该是什么样子的示例。
qt - 在 QFrame 上叠加网格
所以,我有一个QFrame
布局设置为QGridLayout
.
在这个布局中,我有 16 行的图块,它们代表了一些调色板。
我希望这个瓷砖网格用线条分隔,就像网格应该那样。我可以用瓷砖轻松做到这一点paintEvent
。
然而,明显的问题是,在瓷砖之间,线条是双重的。当我将其扩展到其他应用程序时,差异变得更加明显。
那么,有没有办法为我创建网格线覆盖QFrame
?我考虑过将整个事情转换为视图/场景解决方案,并使用drawForeground
,但这似乎完全不恰当地使用了范式。
感谢您的帮助!
pyqt5 - 如何在 eventFilter 中设置 QFrame 颜色?
我有一个简单的 QWidget,其中包含一个框架和两个标签。我想使用 eventFilter 在标签悬停时更改 QFrame 背景颜色。有人可以检查下面的代码并告诉我为什么我不能更改 QFrame 背景以及它是否是正确的方法吗?
installEventFilter 应该应用于 QWidget 还是 QFrame?标签包含在 QFrame 中。
谢谢
python - 将 QVBoxLayout 添加到 QFrame?
我试图弄清楚如何将填充的 QVBoxLayout 添加到 QFrame 中。
在图像中,您会看到 4 个滑块,每个滑块都有两个标签和一个按钮。我一直在搞乱 QIcon 和样式表,这就是为什么它们现在看起来有点奇怪。这些对象中的每一个都是在我自己的自定义类中创建的,该类在 QVBoxLayout 中一起生成所有 4 个对象。
我想在每个 QVBoxLayout 周围放置一个边框。我已经翻阅了一页又一页的指南和其他人的代码,但我就是无法弄清楚我在这里做错了什么。我已经设法创建了一个只有黑色边框的 QFrame,它出现在 QVBoxLayout 后面,但无论如何它都没有与它绑定,所以它偏离中心。我可能会使用几何学将某些东西放在一起,但这似乎是我以后会后悔的事情。
您可以在第二张图片中看到我想要达到的效果,但我所做的一切都不起作用。我才刚刚开始学习编码,所以我现在有点超出我的深度 - 我已经阅读并阅读了 QT 文档和数百个类似于此的留言板问题,但没有任何意义并且没有一个有效。
我知道这将是一件非常简单的事情,但现在我已经准备好把电脑扔出窗外了。
这是我的代码-很抱歉,因为我一直在尝试很多不同的东西,所以有点混乱:
编辑:轻微更新,我设法通过创建一个单独的类来构建对象,该类继承 Qframe 并将 MySlider 对象传递给它。我需要找到一种方法让它在物体周围更紧密,但它的进步有些。
python - QFrame 背景颜色与 QLineEdit、QListBoxWidget 等其他 Widget 重叠。如何避免?
在我的节目中,
QLineEdit 和 QListWidget 放置在 QVBoxLayout 中。然后 QVBoxLayout 放入一个带有背景颜色样式表的 QFrame:橙色。
QLineEdit 和 QListWidget 也获得与 QFrame 相同的背景颜色。如何避免背景颜色重叠?.
假设,如果我们通过样式表改变QListwidget的背景颜色,那么滚动条颜色也改变为QListWidget颜色。
如何避免?,我需要原生样式布局?
qt - 如何在 Qt 中调用框架
我在我的 ui 中包含了一个框架,我试图在我的源代码中调用它,我猜它应该是这样的 ui->frame; 但是当我输入它时,它并没有出现建议......