问题标签 [qstyle]

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

c++ - 如何以相同的样式“重新抛光”QApplication?

在我的 qt5 应用程序初始化时,为 QApplication 实例提供了一个继承自 QProxyStyle 的自定义样式类。

此类重写该void polish(QPalette &palette)函数以更改应用程序的一般配色方案。

例如:

但是,我希望允许用户自定义应用程序的配色方案。一旦用户选择了新颜色,我需要以某种方式“重新应用”样式,以便该函数可以再次运行并从假设的“颜色管理器”类中获取新颜色。

这将如何完成?

0 投票
1 回答
29 浏览

c++ - Qt - 从索引 x 到末尾的样式字符

如何在 QLineEdit 中设置从索引 x(例如 x=10)到文本结尾的字符样式?

例子:

QLineEdit 中的文本:

0123456789

我想让从索引 2(即 2)到末尾的字符应该是粗体。

01 23456789

0 投票
1 回答
339 浏览

qt - 为什么委托无法识别状态mouseOver?

我创建了一个委托,需要识别 mouseOver 状态来构建效果。但它不起作用。当我的表出现时,输出是这样的 在此处输入图像描述

当我将鼠标移到桌子上时,输出是这样的 在此处输入图像描述

我没有看到状态 MouseOver。我怎样才能认出它?

0 投票
1 回答
1361 浏览

c++ - 使用 QStyledItemDelegate 绘制 QTreeView 项目

我已经基于Simple Tree Model Example来自 Qt 示例列表的项目创建了一个项目并编辑了它的模型,以便也可以检查一些项目;这是它的样子:

在此处输入图像描述

我希望将一些项目稍微向左移动。QStyledItemDelegate所以我通过派生和重新实现来创建一个委托,QStyledItemDelegate::paint如下所示:

这样,类型项TreeItem::Type::Checkable将被desiredThreshold常量的值(在本例中为 10 像素)绘制到左侧。

到现在为止还挺好; 一切正常,绘图正确完成。然而...

问题是虽然项目稍微向左绘制(这没关系),但鼠标事件仍在工作,就好像项目根本没有移动一样;这是它的工作原理:

在此处输入图像描述

是否可以告诉代表整个项目略微向左绘制,以便当我单击复选框(也与整个项目一起移动)时,模型会正确更新?

0 投票
1 回答
91 浏览

c++ - 如何知道 QStyle 中的标题文本宽度?

我有一个QTreeView并使用ProxyStyle它。

在此处输入图像描述

上面的图片只是标题。现在我需要在标题标签旁边绘制向上/向下箭头(用于排序项目),如图所示。为了将箭头放在正确的位置,我需要知道:

  • 左边距 = 文本和左边框之间的距离
  • 文字宽度
  • 右边距 = 文本和箭头之间的距离

在这种情况下如何计算文本宽度?我想过 QFontMetrics 但不知道如何接收要计算的文本。

在我的风格中,我只使用drawPrimitive函数

subElementRect( SE_HeaderLabel, p_option, p_widget ).width()在这种情况下使用,但这是错误的。如何计算文本的宽度?

0 投票
1 回答
193 浏览

python - PyQT Fusion 样式删除了可检查组合框中的复选框

我使用以下代码创建了一个可检查的 qcombobox。然后,我应用了融合风格让我的程序看起来更好。但是,这样做会导致我的代码中项目旁边的复选框不再可见。我该如何解决?

0 投票
1 回答
119 浏览

c++ - Using drawComplexControl to retrieve QSliderHandle image

Today I was trying to take a picture of the QSlider handle in order to use it in an adpated QSlider widget with two handles.

This is somewhat similar to the following question: Range slider in Qt (two handles in a QSlider)

For a full fledged solution I can not use a simple image files. I tried to create the image of the QSlider by using the drawComplexControl function, but it leaves me basically with a black image.

What I'm doing wrong here? It seems so simple to me, but it is just not working.

0 投票
0 回答
234 浏览

python - 使用 Qt 是否可以创建具有 GTK 风格的 Windows 10 应用程序?

我正在将 python 2 和 GTK 2 应用程序迁移到 Windows 10 上的 Qt 和 python 3。我已将 .glade 文件转换为 .ui 文件,并且对话框最初看起来很糟糕,因为布局是为 gtk 风格设计的并且与 Windows 不和谐10 样式但不遵循 Windows 10 布局约定。是否可以在 Windows 10 上保持 GTK 外观?我尝试了 QApplication.setStyle(GTKStyle()) 并崩溃了。有没有其他方法或者我可以重新编译 pyside2 以包含 gtk 的外观和感觉?

0 投票
0 回答
72 浏览

c++ - 是否可以在 Qt 中使用 QStyle 删除窗口图标?

QStyle 是一个非常灵活的工具,可以帮助您自定义小部件。但是如何使用 QStyle 删除该图标?

图片

0 投票
1 回答
95 浏览

c++ - 如何从 QStyle 获取 QTreeView 的标识宽度

我有预先存在的代码,它具有类似外观的树视图,但实际上并未使用 QTreeView(使用带有自定义绘制的 QListWidget)。

我的任务是在父对象和子对象之间添加缩进,但我无法找到如何从 QStyle 获取样式默认缩进宽度。该程序必须在各种操作系统上运行并允许使用自定义样式表。所以从 QStyle 获得这个选项很重要。

问候。