- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个额外的窗口,里面有一个文本编辑 + qicon(我称之为 float 编辑)。
我有 2 个 qicons - 用于通常的 DPI(16 x 16 图标),它是 2x 版本(32 x 32)。
名称是正确的 - 它们类似于 icon.png 和 icon@2x.png。
我需要从我的图标中获取像素图并将其提供给第 3 方库。
我不能直接喂 qicon 并且 qpixmap 在我的 qt 版本(5.6.2)中不考虑 dpi,所以我必须根据 dpi 进行转换。
这是我的代码:
// ...
auto icon = QIcon(imageName);
auto availSizes = icon.availableSizes();
auto size = pFloatingEdit->window()->devicePixelRatio() == 1 ? availSizes.first() : availSizes.last();
auto pxm = icon.pixmap(size);
auto w = pxm.width();
auto h = pxm.height();
// ... <feeding to 3rd party>
问题是我总是让 w 和 h 等于 32,但 size 变量尊重 dpi,在 100% dpi 的情况下返回 16 x 16,在 200% 的情况下返回 32 x 32。
谁能帮我解决这个问题?
最佳答案
尝试自己设置设备像素比。
当使用具有不同像素比率的多个显示器时,QPixmap 无法正常工作。也许这是你的问题。因为 QPixmaps 中的 devicePixelRatio 始终是监视器中最高的。但来自 QWindow 的信息是正确的。因此,从 QWindow 设置 devicePixelRatio 应该可以解决这个问题。
auto icon = QIcon(imageName);
int pixelRatio = pFloatingEdit->window()->devicePixelRatio();
auto pxm = icon.pixmap(size);
pxm.setDevicePixelRatio(pixelRatio);
关于c++ - QIcon 始终显示为 2x dpi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41975564/
我有这个代码; void FileBrowser::setItemIcon(QStandardItem *item) { // check whether its a file or not
我想在我的 QComboBox 中的条目上包含一个“删除”图标,但我无法捕获鼠标按下事件。我试图在组合框中捕获它,并且尝试重新实现 QIcon 类以在那里捕获鼠标按下。没有骰子。有人知道怎么做吗? -
我有一个自定义文件格式,用于存储一些图像。我在程序运行期间将这些图像加载到内存中。图像以二进制格式加载(即它们在磁盘上的显示方式相同)。我知道图像的格式(几乎都是 jpeg)。问题是我不知道宽度/高度
我尝试了多种方法在 QTableWidget 单元格中显示 QIcon,但我不确定为什么它不起作用。我有一个按钮,按下时会在表格中添加一行。这是代码... void MainWindow::press
我在使用 QIcon(带有 MSVC 2008 的 Qt 4.8.1)时遇到了一些内存泄漏。 这种情况发生在简单的 QAction(如菜单条目,甚至是由 Qt Designer 自动生成的条目)或容器
我有一个带有自定义主题的应用程序,并且禁用的图标呈亮灰色。我想更改禁用的图标色调颜色。 现在我知道有这样的可能性: QTableWidgetItem *name = new QTableWidgetI
我正在尝试扩大 QIcon,但它不起作用。 class Example(QMainWindow): def __init__(self): super().__init__()
目标 我希望用户能够单击 QIcon 来执行某些操作。也就是说,我想将 QIcon 内的鼠标单击事件连接到插槽。 我尝试过的 在我的示例(如下)中,我使用 TreeView ,当用户单击其中一个图标时
我正在开发一个需要 的应用程序显示与不同文件类型关联的图标 . 例如对于 .doc 扩展,我需要它才能显示 Microsoft Word 图标 . 问题: 如何使用 QT sdk 从系统中获取 QIc
openFile = QtGui.QAction(QtGui.QIcon('Black.png'), 'Open', self) 添加 Action 后运行模块时,单击文件时,打开的 Action 没
正如 docs 中所写我想从当前代码编辑 setThemeSearchPaths() : if __name__ == "__main__": app = QtGui.QApplication
我尝试使用派生自 QSettings 的类来存储 QIcon,如下所示: setValue("fancy_icon", QIcon::fromTheme("document-new")); 但是我有一
我有一个额外的窗口,里面有一个文本编辑 + qicon(我称之为 float 编辑)。 我有 2 个 qicons - 用于通常的 DPI(16 x 16 图标),它是 2x 版本(32 x 32)。
我有一个 play button 的 png 格式图像我在其中存储为 embedded resource在我的申请中。 play.png 我已经为 Normal 和 Activ
我正在学习如何使用 Qt 进行 C++ 编程。当我单击一个按钮并且与该按钮相关的矩阵上的位置等于-1时,我想显示这张图像,我还想清除同一个按钮上的文本,我的代码到目前为止部分是: if(Tabulei
我已经为 GUI 菜单创建 QT 自定义设计器小部件工作了一段时间。这个想法是您只需将它拖到设计器中,选择您想要的帧数、每帧按钮的数量等,它就会为您生成一切并调整其大小。 小部件的结构方式有一些属性可
我正在使用 QTableView 和 QSqlTableModel 来显示来自 sqlite DB 的数据。在数据库(和模型)中,有一列包含包含路径的字段,即:“/home/foo/bar.txt”或
我想要一个文本左对齐、图标右对齐的表格单元格。 但是现在,我让图标和文本都左对齐,这是我尝试过的 QtTableWidgetItem * item = new QtTableWidgetItem("p
假设我做了这样的事情: QIcon myIcon(":/resources/icon.ico"); 我以后如何确定该图标的路径,例如 QString path = myIcon.getPath();
我想设计一个新的 QIcon 并希望它看起来像一个固定的文本,周围有一个圆角矩形 .-----. | Phy | `-----´ 当在最终应用了缩放变换的 QPainter 上绘制时,图标应该在没有“
我是一名优秀的程序员,十分优秀!