在非 gui 线程中获取文件图标 (QFileIconProvider::icon)
Posted
技术标签:
【中文标题】在非 gui 线程中获取文件图标 (QFileIconProvider::icon)【英文标题】:Getting file icons (QFileIconProvider::icon) in non-gui thread 【发布时间】:2012-06-24 10:04:09 【问题描述】:我正在尝试从非 gui 线程获取文件图标以避免 gui 冻结。我收到警告:
QPixmap:在 GUI 线程之外使用像素图是不安全的
有没有办法解决我的问题?也许还有另一种简单的方法来获取文件图标?我的目标系统是Ubuntu,我不需要支持其他系统。
【问题讨论】:
【参考方案1】:您可以使用QImage
来加载文件图标,这些图标可以在GUI 线程 之外使用。然后您可以使用QImage
提供的任何函数将其转换为QPixmap
。比如下面static
函数:
QPixmap QImage::fromImage (const QImage & image, Qt::ImageConversionFlags flags)
【讨论】:
问题是 QFileIconProvider 在内部使用 QPixmap。我无法改变它。以上是关于在非 gui 线程中获取文件图标 (QFileIconProvider::icon)的主要内容,如果未能解决你的问题,请参考以下文章