首页 > 其他分享 >关于使用Qt.labs.platform在arch中报错 ERROR: No native FileDialog implementation available.的原因记录

关于使用Qt.labs.platform在arch中报错 ERROR: No native FileDialog implementation available.的原因记录

时间:2023-07-30 11:55:57浏览次数:45  
标签:available Qt implementation platform 报错 FileDialog native

当跟着Qt Book的章节QtQuick Controls编写一个ImageViewer,运行时报错:

ERROR: No native FileDialog implementation available.
Qt Labs Platform requires Qt Widgets on this setup.
Add 'QT += widgets' to .pro and create QApplication in main().

尝试过搜索在cmake中引入QWidgets模块,但是无济于事,还是报错。
在google的一段时间无果后,还是回到了官方文档去查看缘由。最终发现了原因:
在官方文档的Qt.labs.platform下面写明了:

A native platform file dialog is currently available on the following platforms:

- Android
- iOS
- Linux (when running with the GTK+ platform theme)
- macOS
- Windows

The Qt Labs Platform module uses Qt Widgets as a fallback on platforms that do not have a native implementation available. Therefore, applications that use types from the Qt Labs Platform module should link to QtWidgets and use QApplication instead of QGuiApplication.

在linux平台只有GTK+的平台才提供了native实现。而我用的是KDE,所以不行。

在KDE中可以使用Quick.Dialog中的FileDialog去实现想要的功能,不过界面可能并不是很美观


还得多看文档!!!!!

标签:available,Qt,implementation,platform,报错,FileDialog,native
From: https://www.cnblogs.com/Fortunater/p/17591214.html

相关文章

  • uniapp+vue3+ts 使用pinia报错
    "hasInjectionContext"isnotexportedby"node_modules/vue-demi/lib/index.mjs",importedby"node_modules/pinia/dist/pinia.mjs".11:36:19.397at../node_modules/pinia/dist/pinia.mjs:6:9解决方法:把pinia降级先删除pinianpmunipinia......
  • Git Clone一个GitHub仓库时,发生报错
    1.问题1.使用HTTP方式:Git:fatal:unabletoaccess'https://github.com/Light-City/CPlusPlusThings.git/':OpenSSLSSL_read:SSL_ERROR_SYSCALL,errno100542.使用SSH方式:没有配置SSH公钥2解决方式1.HTTP方式fatal:unabletoaccess‘https://github.com/…’:O......
  • 解决QT QGraphicsView提升到QChartView报错的问题
    使用QT提供的QChartView来绘制图表,提升QGraphicsView控件继承QChartView后,然后将QGraphicsView提升到我们自己写的类,怎么才能确保提升后编译不报错呢。[问题描述]使用QGraphicsView显示图表的时候,我们需要将它提升为QChartView.但提升后再此运行一般会发生编译报错,错误发生在......
  • 【VS Code 与 Qt6】QAction 类的一些事
    QAction类表示用户命令的一种抽象,包括命令文本、图标、命令触发后要执行的代码。菜单、工具栏按钮往往存在相同的功能,将这些命令独立抽出来,放到QAction以象上,可避免编写重复的代码。比如“文件”菜单下有“保存”命令,工具栏上也会有“保存”按钮。因此,创建一个表示“保存”的Q......
  • linux文本编辑YCM报错
    linux文本编辑YCM报错刚从github安装了vimplus,可是发现存在不少的问题。索性给直接记录一下。TheycmdserverSHUTDOWN(restartwith':YcmRestartServer').ycm的readme中给出推荐版本需要注意一下。由于本人的python版本是3.10,所以出现了版本兼容的问题。原因是Python3......
  • 当使用create table ... as select建表时报错ERROR 1786
    问题描述:当使用createtable...asselect建表时报错ERROR1786.数据库:mysql5.7.211、异常重现mysql>createtablebooksbakasselect*frombooks;ERROR1786(HY000):StatementviolatesGTIDconsistency:CREATETABLE...SELECT.2、异常原因ERROR1786是由于开......
  • stm32cubeide ioc报错 This IOC file has been generated with CubeMX version 5.6.1
    STM32Cubemx文件的版本不一致导致打不开.ioc文件的问题问题:ThisIOCfilehasbeengeneratedwithCubeMXversion5.6.1YourcurrentCubeMXversionis5.0.0PleaseupdatetoanewestCubeMXversiontobeabletoopenthisIOC.笔者遇到这个问题后,就开始升级程序,但是升级......
  • Qt-day01
    //不用手动进行回收?://条件一:在QT中建立了内存回收机制从QBject派生的类,//条件二:指定父类,父类对象析构的时候,先析构子类对象 #include"mywidget.h"#include<QApplication>intmain(intargc,char*argv[]){//QApplication应用程序类每个程......
  • Qt moveToThread使用及注意事项
    在Qt中,每个QObject对象都有一个线程关联,这个线程被称为对象的“线程上下文”。默认情况下,一个QObject对象的线程上下文与创建它的线程相同。也就是说,如果我们在主线程中创建了一个QObject对象,那么这个对象的线程上下文就是主线程。在某些情况下,我们可能需要将一个QObject对象(或......
  • Qt 生成应用程序(二)软件多图标与文件操作
    目录关联某种文件的默认打开方式assocftype解决方案设置文件默认图标应用软件添加多个图标综合方法嘿,各位Qt桌面应用开发的同学们(应该Qt大部分应用场景就是这个吧......