选择文件夹后 QFileDialog::getExistingDirectory 不关闭

2024-04-29

In Qt,

QFileDialog *dlg = new QFileDialog(); 
QDir dir = dlg->getExistingDirectory(this, tr("Choose folder"), qgetenv("HOME"));

打开文件夹选择对话框。一旦我选择了一个文件夹(按选择按钮),该文件夹就不会自动关闭。所以我尝试:

if(dlg->close() == true) delete(dlg);

当我调试时 dlg->close() 返回 true 并且代码删除(dlg) 被命中。文件夹选择器对话框仍然没有关闭。

我使用的是 Ubuntu 11.10 64 位操作系统。使用存储库中的 Qt 库。

我的最终目标只是显示一个文件夹选择器对话框,一旦选择了文件夹,对话框就应该关闭。之后处理应该继续。这个怎么做?

提前致谢。


Even if QFileDialog::getExistingDirectory是静态的,不需要QFileDialog对象要工作,它应该在最终选择目录时关闭对话框窗口。 默认情况下,该函数尝试打开本机文件对话框窗口,这似乎会在某些平台上引起一些问题。

您应该尝试通过添加选项来强制使用非本机对话框DontUseNativeDialog:

QString dir = QFileDialog::getExistingDirectory(
    this, 
    tr("Choose folder"),
    QDesktopServices::storageLocation(QDesktopServices::HomeLocation),
    QFileDialog::ShowDirsOnly | QFileDialog::DontUseNativeDialog);

并删除另外两行(用new QFileDialog and if(dlg->close()) ...).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选择文件夹后 QFileDialog::getExistingDirectory 不关闭 的相关文章

  • 如何将 QByteArray 转换为十六进制字符串?

    我有打击QByteArray QByteArray ba ba 0 0x01 ba 1 0x10 ba 2 0x00 ba 3 0x07 我真的不知道如何将此 QByteArray 转换为结果字符串 其中包含 01100007 我将使用 Q
  • 加载 QPixmap 数据的更好方法

    更好的方法来做到这一点 没有QImage QImage image width height QImage Format RGB888 memcpy image bits m frameRGB gt data 0 height width
  • 具有多个父项的 Qt 树模型

    我想构建一棵树 其中一个元素可以引用另一个元素 我想要构建的树是 像这样的东西 A B C D E F P this is a pointer to C D first child of C E second child of C I fo
  • 获取 QPushButton 在 2D 数组 QPushButton 上的索引

    我有一个二维数组QPushButton 当用户单击按钮时如何获取按钮的索引 例如当用户单击按钮时a 2 3 它会显示 2 3 该示例如下所示 Qt 4 5 使用对象名称 您可以为按钮指定唯一的对象名称 理想情况下 名称应该是有效的 C 标识
  • 无法将 QList 分配给 QString

    我遇到这个错误 Unable to assign QList
  • 如何在 Qt Creator 中编辑 QtWebKit 的右键上下文菜单?

    好吧 这是我的困境 我正在使用 Qt Creator 制作一个使用 Webkit 的简单应用程序 我认为 Qt Creator 会有一种简单的方法来使用信号和槽编辑器编辑右键单击上下文菜单 但事实证明这不是真的 我知道 webkit 有与上
  • Qt 人工鼠标点击无法正常工作

    小玩具应用程序可以在这里找到 http gist github com 517445 http gist github com 517445 我正在尝试将人工鼠标事件发送到小部件 我使用QApplication sendEvent为此 接下
  • 使用 CMake 编译时更改头文件位置会导致缺少 vtable 错误

    对于一个大型 C 项目 我需要从 qmake 过渡到 CMake 但是在处理一个玩具示例时 我遇到了一些我不理解的行为 示例代码具有单个头文件 当该头文件移动到子目录中时 我收到 MainWindow 类缺少 vtable 的错误 CMak
  • 完全彻底卸载QT Creator

    问题 如何从 Linux 机器上卸载 QT Creator 我的 Debian Jessie 机器上的安装已损坏 我尝试过重新安装 修复等 但没有成功 建议我完全卸载 获取最新版本并重新安装 问题是我不确定如何执行此操作 每次我尝试时 QT
  • 如何声明一个带有成员函数指针的函数

    我有一个类 其中的成员变量指向库对象 class myClassA private libraryClass libraryObject 该库类发出事件 以字符串为特征 并提供一种机制 允许客户端类指定在发出事件时应调用的成员函数 因此在m
  • 使用 OpenGL 渲染 QImage

    与我相关的其他问题 https stackoverflow com questions 20126354 render qimage from sooffscreenrenderer in qglwidget 我认为更核心的问题是 如何渲染
  • 如何去除QWizard中的水平线?

    我正在研究一个样式表QWizard我想删除按钮上方的水平线 我尝试递归浏览所有小部件并将其边框设置为无 但似乎没有任何小部件具有此边框 这是我的代码 可以找到完整的可构建示例here https gist github com ardeid
  • QML 中可重用的字体属性[重复]

    这个问题在这里已经有答案了 在 QML 中 我希望能够定义一组字体属性以进行简单的语义重用 例如 代替 Text text This is a header font family Encode Sans weight Font Black
  • 如何在针对 Windows XP 的情况下使用 VS2012 构建 Qt 4/5?

    我正在尝试使用 Visual Studio 2012 构建 Qt 4 8 5 Qt 5 2 1 针对 Windows XP SDK v7 1a 使用 VS2102 编译时 源代码与 SDK v7 1a 存在各种不兼容性 因此无法开箱即用 这
  • Mac OS X 上的 Qt 字体系列和样式

    我有一个基于 Qt PyQt 的 GUI 应用程序 在 Mac OS X 和其他平台 上运行 它允许用户选择字体并具有粗体和斜体选项的复选框 在更新到新的基于 Cocoa 的 Qt 时 用户发现QFontComboBox不再显示不同的字体样
  • 如何doxygen注释Qt属性?

    我想将 Doxygen 注释附加到我的 Q PROPERTY 例如 song h class Song public QObject Q OBJECT private Q PROPERTY QString title READ title
  • 如何在 Qt 应用程序中嵌入 Python 解释器?

    有没有一种简单的方法可以将 Python 解释器嵌入到 Qt 应用程序中 如果可能的话 我希望有一个跨平台的解决方案 这就是目的PythonQt http pythonqt sourceforge net 它支持 Windows Linux
  • 如何在Android中使用QML - QWebView

    我想在 Android 中部署一个 YouTube 应用程序 但它只能在我的电脑上运行 在安卓上不起作用 它不加载任何视频 问题仅出在 QWebView 上 我使用了与此类似的代码 http doc qt io archives qt 5
  • 使用 QGraphicsScene 实现流畅的动画

    我希望我的问题并不总是同样的问题 我有一个 QGraphicsScene 它的项目是一些 QGraphicsPixmap 我用一个计时器来移动它们 每秒 SetX 10 我设置 10是因为窗口大100 使用这个解决方案我的动画不流畅 我想我
  • Qt 支持 Windows 蓝牙 API 吗?

    谁能告诉我 Qt 是否支持 Windows 蓝牙 API 如果是这样 您能否分享一些有关如何使用它的信息 自上次答复以来 这个问题的答案发生了一些变化 Qt 5 2 版为 Linux BlueZ 和 BlackBerry 设备实现了蓝牙 A

随机推荐

  • 从对话框调用 CustomAction 时出现 WiX 安装错误 2762

    我是初学者 开始学习WiX 我想在安装过程中捕获 验证和注册用户详细信息 我创建了一个对话框来捕获用户注册并在用户单击 下一步 后调用自定义操作 但在这里我收到安装程序错误 2762 虽然错误描述说 必须在 InstallInitializ
  • 通过 HTTP 更新自托管扩展

    我正在将基于 SDK 的 Firefox 扩展转换为 WebExtensions 并且遇到了更新扩展的问题 当前的扩展托管在我自己的域 这是一个 HTTP 域 上 以及更新 rdf file 现在 对于基于 SDK 的附加组件 只要使用以下
  • 未捕获的错误:地图容器已初始化

    我正在使用 React JS 制作网页 我的目标是在前端显示地图 我正在使用react leaflet npm 包来实现同样的目的 但是 我收到以下错误 Error Uncaught Error Map container is alrea
  • 如何防止通过“new”运算符分配类? (我想确保我的 RAII 类始终分配在堆栈上。)

    我想确保我的 RAII 类始终分配在堆栈上 如何防止通过 new 运算符分配类 您需要做的就是将类的 new 运算符声明为私有 class X private Prevent heap allocation void operator ne
  • 访问二维数组的一行末尾之后的元素是否是 UB?

    以下程序的行为是否未定义 include
  • Docker:内存文件系统

    我有一个 docker 容器 它对磁盘进行大量读 写操作 我想测试当我的整个 docker 文件系统都在内存中时会发生什么 我在这里看到一些答案说这不会是真正的性能改进 但这是为了测试 我想测试的理想解决方案是共享每个图像的公共部分 并在需
  • 是否可以将向量的一部分作为向量发送给函数? [复制]

    这个问题在这里已经有答案了 我想看看是否可以将向量的一部分传递给函数 以便它显示为函数的法线向量 更重要的是 我希望这可以在 O 1 的常数时间内完成 我不想迭代向量来创建一个新向量 事实上 我还希望在下面的示例中将新向量的大小更改为 40
  • 如何覆盖 Symfony2 包中的实体

    我在用着FOS用户包 for Symfony2 我需要能够注册一个用户不验证电子邮件是否唯一 我只需要一个有效的电子邮件 所以许多用户可以拥有相同的电子邮件 我知道这很奇怪 但我需要它 我在捆绑包中有一个实体 用户 扩展 FOSUserBu
  • 使用 JSeperator - Java 时出现异常间隙

    我一直在开发 Swing GUI 并在添加后出现一些不寻常和不需要的间隙JSeperator 知道如何删除它们吗 或者任何其他选择来很好地实现这一目标 视觉描述 之前差距就很明显了JLabel 速度 及之后JSlider 相关代码 cont
  • android:如何将图像添加到相册

    任何人都可以分享代码 或向我指出 Android 示例代码 来帮助我将图像添加到媒体商店 图库 中的相册中 在我的应用程序中 我从服务器下载图像 并使用相机 通过 Intent 拍摄新图像 我想将这些图像组织在特定于应用程序的相册中 类似于
  • PHP - 使用大量参数和默认值初始化对象的最佳方法

    我正在设计一个类 它定义一个高度复杂的对象 其中包含大量 50 大部分可选参数 其中许多参数都有默认值 例如 type foo width 300 interactive false 我试图确定设置构造函数和实例 类变量的最佳方法 以便能够
  • Codeigniter - 仅当数据库中不存在电子邮件时才更新电子邮件

    我为我的用户提供了一个更新页面 他们可以在其中编辑他们的姓名 电子邮件和其他信息 到目前为止 他们可以编辑一切 包括他们的电子邮件 他们可以毫无问题地输入数据库中已存在的电子邮件 我尝试添加此表单验证规则 this gt form vali
  • 使用 Node.js 从 URL 读取内容

    我正在尝试使用 Node js 从 URL 读取内容 但我似乎得到的只是一堆字节 我显然做错了什么 但我不确定是什么 这是我目前拥有的代码 var http require http var client http createClient
  • 如何在powershell中使用SVN提交

    我想在我的 PowerShell 脚本中使用 SVN 命令 我知道我需要将 SVN 可执行文件声明为变量 但之后我想提交一个已声明为变量的文件 并且我想要给出的提交消息在文件中指定 svnExe C Program Files Tortoi
  • 在 Android 中下载文件

    我正在使用以下代码在 Android 中下载文件 public class FileDownloadActivity extends Activity ProgressDialog mProgressDialog Called when t
  • 将正在运行的计数显示计时器添加到 iOS 应用程序中,例如时钟秒表?

    我正在使用一个应用程序 该应用程序可以处理设备运动事件并以 5 秒的增量更新界面 我想向应用程序添加一个指示器 以显示应用程序运行的总时间 看起来像秒表的计数器 例如本机 iOS 时钟应用程序 是计算应用程序运行时间并将其显示给用户的合理方
  • 如何在 javascript 中使用 .net 资源文件

    无论如何 我可以在 javascript 中访问我的资源文件 resx 吗 如果没有 那么是否有任何解决方法可以用不同语言的 javascript 显示消息 如果您的 javascript 在页面中 您可以使用 var globalReso
  • 如何删除字符串中所有不可打印的字符?

    我想我需要删除字符 0 31 和 127 是否有一个函数或一段代码可以有效地完成此操作 7 位 ASCII 如果您的 Tardis 于 1963 年刚刚上市 并且您只想要 7 位可打印 ASCII 字符 则可以使用以下命令删除 0 31 和
  • android:configChanges 清单文件中不允许错误字符串类型

    这是我的清单文件 其中显示 android configChanges 不允许的错误字符串类型 请帮助我纠正错误 下面是我的清单文件
  • 选择文件夹后 QFileDialog::getExistingDirectory 不关闭

    In Qt QFileDialog dlg new QFileDialog QDir dir dlg gt getExistingDirectory this tr Choose folder qgetenv HOME 打开文件夹选择对话框