我有一台平板电脑,除了缺乏对linux的支持之外,我最喜欢它(令人惊讶的是它是基于linux的操作系统)。然而,我设法找到了一个linux应用程序的版本,它现在是非官方的。实际上是一个Qt docker应用程序,但是如果你查看“Dockerfile”的代码,你可以找到下载该应用程序的位置,它显然仍然在服务器上,尽管没有来自主页的链接。无论如何,我下载了它并使其大部分工作,基于相同的Dockerfile代码找出了一些依赖项。但是,我似乎不能让文件对话框工作,这是使用该应用程序的主要原因。
我得到的错误是:
ERROR: No native FileDialog implementation av
我使用Qt QFileDialog::getSaveFileName和QFileDialog::getOpenFileNames让用户选择保存文件的位置以及在我的应用程序中打开哪些文件。
此函数的第三个参数是默认情况下希望窗口打开的路径。在linux中,如何在用户主页中打开对话框?在windows中,如何在win7中的用户文件夹或win中的“我的文档”中打开对话框?
目前,我使用的对话框如下:QFileDialog::getOpenFileNames(this, "Select a file to open...", HOME);,其中HOME是预处理器宏,在UNIX中是~,在
我在Qt对话框定制方面有问题。该对话框包含一个图像(带有像素映射的QLabel)和面板下的按钮。默认情况下,对话框没有标题栏和边框,面板不可见。当我单击显示的图像时,面板变得可见,边框也应该是可见的,以便用户可以调整对话框的大小。
将面板设置为可见的或不可见的很容易,并且在开头隐藏边框也很清楚:
setWindowFlags( Qt::Dialog::FramelessWindowHint );
但
我无法恢复窗口的边框。我试过这个:
// this is in the header
Qt::WindowFlags m_wndFlags;
// this is in the cpp
dl