我正在开发一个Qt GUI应用程序。
我的问题是我将控制台用于另一个线程(它在其中编写了他的通信),主要问题是当我创建一个QFileDialog(为了选择一个脚本文件)时,KDE正在写出无用的信息(对我来说至少)。
有没有办法从我的QFileDialog中删除所有可能性以便将任何内容写入consolet?是否有将主输出切换到另一个(无用)目标的技巧?
我的代码(但我认为它不会对你有所帮助):
void MyGUI::setPathWithFileExplorer()
{
QFileDialog dlg;
dlg.resize(320,240);
QString fileName = dlg.getOpenFileName(this, tr("Open script file"), "~/", tr("Script Files (*.js)"));
if(fileName != "")
ui->editScriptPath->setText(fileName);
}
输出:
kded(21003)Mollet :: KioSlaveNotifier :: onDirectoryEntered:“trash:/” kded(21003)Mollet :: KioSlaveNotifier :: onDirectoryLeft:“trash:/” kded(21003)Mollet :: KioSlaveNotifier :: onDirectoryEntered: “file:// [路径给我的用户文件夹]”kded(21003) 摩勒:: KioSlaveNotifier :: onDirectoryLeft: “file:// [路径给我的用户文件夹]”kded(21003) 摩勒:: KioSlaveNotifier :: onDirectoryEntered: “file:// [路径到我的用户文件夹]”kfilemodule(21676) KSambaSharePrivate :: testparmParamValue:我们遇到了一些错误 运行testparm“从/etc/samba/smb.conf加载smb配置文件 加载的服务文件OK。警告:设置'security = ads'应该 不要与'password server'参数结合使用。 (默认情况下 Samba将发现正确的DC以自动联系)。警告: 您有一些超过12个字符的共享名称。这些 某些老客户可能无法访问。 (例如.Windows9x, WindowsMe和Samba 3.0之前的smbclient。)“ QInotifyFileSystemWatcherEngine :: addPaths:inotify_add_watch失败: 权限非符合QFileSystemWatcher:无法添加路径: 的/ var / lib中/桑巴/ usershares
答案 0 :(得分:3)
我建议使用kdebugdialog
然后使用Deselect All
。在这里,您可以在我的机器上看到内联屏幕截图。
如果失败,您可以始终使用QFile
将输出记录到专用文件中,然后在单独的提示或应用程序中对其进行监控。
如果你这样做,你甚至可以看看5.2中添加的记录器功能,如果你碰巧能够使用该版本。