gpt4 book ai didi

qt - 如何将 QStyle::standardIcon/standardPixmap 与 QStyle::StandardPixmap 一起使用?

转载 作者:行者123 更新时间:2023-12-04 17:45:20 30 4
gpt4 key购买 nike

在我的代码中有一堆调用试图创建 QIconsQStyle标准像素图,例如:

QIcon groupIcon;
groupIcon.addPixmap( style()->standardPixmap( QStyle::SP_DirClosedIcon ),
QIcon::Normal, QIcon::Off );
groupIcon.addPixmap( style()->standardPixmap( QStyle::SP_DirOpenIcon ),
QIcon::Normal, QIcon::On );

虽然这可以正常工作,但使用模型的图标 Qt::DecorationRole显示基于项目的打开或关闭的图标
展开状态,它有两个问题:
  • 它不是 hi-dpi 友好的,并且图标很小
  • QStyle::standardPixmap被标记为过时,带有 QStyle::standardIcon被描述为首选方法。

  • 我不确定如何将上面的代码翻译成 QStyle::standardIcon尽管。
    QIcon groupIcon( style()->standardIcon( QStyle::SP_DirClosedIcon ) );

    适用于封闭的元素,在 hidpi 上看起来很棒。但我不知道如何添加 SP_DirOpenIcon状态。没有像“ QIcon::addIcon ”这样的等效方法,就像有 QIcon::addPixmap .

    在这里采取的正确方法是什么,这是 hi-dpi 友好且面向 future 的?

    最佳答案

    how to translate the above code to QStyle::standardIcon



    才能使用 QStyle::standardIcon而不是 QStyle::standardPixmap ,从带有 QIcon::pixmap 的图标中选择特定的像素图.

    这是我为您准备的示例,说明如何更改代码以实现此目的:
    QIcon groupIcon;
    QSize sz(16, 16);

    groupIcon.addPixmap(style()->standardIcon(QStyle::SP_DirClosedIcon).pixmap(sz),
    QIcon::Normal, QIcon::Off);
    groupIcon.addPixmap(style()->standardIcon(QStyle::SP_DirOpenIcon).pixmap(sz),
    QIcon::Normal, QIcon::On);

    这里 16是请求的大小。请注意:

    The pixmap might be smaller than requested, but never larger.



    因此相应地调整这个值。

    关于qt - 如何将 QStyle::standardIcon/standardPixmap 与 QStyle::StandardPixmap 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52358982/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com