Articles of qt

在QtCreator中导入一个CMake项目

我试图导入我的Cmake项目在QtCreator中,我想用作代码编辑器,但与Qt类完成的可能性通过Ctrl + R构build 当导入Cmake项目时,当我尝试selectRunCmake时,QtCreator ide在运行CMakeWizard时挂起。 如果我取消一个空的窗口popup,并没有生成项目。 是否有可能在QtCreator中导入现有的cmake项目? Ubuntu 10.10 x86_64,QtCreator 2.6

Linux fork / exec到同一个目录下的应用程序

是否有一个exec变体,将使用当前的应用程序目录来定位目标程序? 我正在使用C ++和Qt来实现“最后的沟渠”错误报告系统。 使用Google Breakpad ,我可以创build一个小型转储并直接执行到一个处理程序。 因为我的应用程序处于不稳定状态,所以我只想使用最小的依赖关系来分叉并启动一个单独的error handling过程。 错误报告应用程序将被部署在与应用程序可执行文件相同的目录中。 我很不熟悉fork和exec选项,并且没有find包含searchpath中当前应用程序目录的exec选项。 这是我到目前为止: static bool dumpCallback(const char* /*dump_path*/, const char* /*minidump_id*/, void* /*context*/, bool succeeded) { pid_t pid = fork(); if (pid == 0) { // This is what I would *like* to work. const char* error_reporter_path = "error_reporter"; // This works, but requires hard-coding the entire […]

为Qt应用程序创buildLinux安装

我只是用Qt Creator做了一个很棒的程序。 我对自己很满意。 如何将其从桌面移动到笔记本电脑? 那么,最好的方法是安装程序? 而对于Ubuntu,这是一个debian包吗? 我怎么做? 有人这样做,他们可以共享QT 4.5的模板文件吗? 谢谢, 麦克风

如何为QtWebKit安装一个插件

我正在运行一个Qt 4.5商业快照,并希望在我的QWebView使用我下载的一个插件(这是一个.so文件)。 有一个特定的位置,我需要放置这个文件? 我可以用QWebPluginFactory抓取它吗?

Qt的最好的方式来显示非常大的富文本?

我需要显示非常大的日志,使用HTML标记标记不同types的数据。 使用QTextEdit和QTextBrowser真的会减慢应用程序,特别是在追加操作。 我真的想保持QTextEdit界面和能力。 我见过一些实现了自己的TextEdit风格的人来提高性能,但是如果有人使用“Qt”工具解决了这个问题的话,我会徘徊不前。 我想过使用Model / View框架来根据需要加载数据,但这不像我想的那样。 也许inheritanceQTextEdit并覆盖一些插槽滚动… 如果有人遇到这个问题,并解决它,我将不胜感激一些提示。 谢谢。

Qt线程在Linux中的问题

在我的项目中,我一直在用Qt开发一段时间,现在我们开始转向更线程化的devise。 在将一些GL渲染小部件移动到其他线程时,我发现了一些非常奇怪的行为。 看来,如果一个GL Widget从另一个线程(boost线程或QThread)开始更新,然后接受用户input(如QTextEdit)的部件抓住焦点,我会看到如下所示的XCB崩溃: [xcb] Too much data requested from _XRead [xcb] This is most likely caused by a broken X extension library [xcb] Aborting, sorry about that. hypnotizer: ../../src/xcb_io.c:735: _XRead: Assertion '!xcb_xlib_too_much_data_requested' failed. 为了testing这个,我实际上可以对GLHypnotizer演示进行简单的修改来重现崩溃。 该演示可以在这里find: http ://qt-project.org/doc/qt-4.8/demos-glhypnotizer.html [qt-project.org] 如果我添加行“mdiArea.addSubWindow(new QTextEdit(this));' (在调用newThread()之前),然后当演示开始时,将会有一个QTextEdit和一个GL Hypnotizer Widget。 如果我然后点击QTextEdit抓住焦点,我会每次都得到上面的崩溃。 任何人都可以重新使用上述说明在Linux上安装错误? 有没有人在Linux上使用Qt和线程之前遇到这些types的问题? 注意:我正在使用Ubuntu 12,这个崩溃发生在VirtualBox和非VirtualBox Ubuntu安装中

设置QGroupBox标题的alignment方式

我尝试以编程方式设置QGroupBox的标题alignment方式。 根据文档,我尝试按照以下方式进行: MainWidget::MainWidget (QWidget * parent) : QWidget (parent) { setWindowTitle (tr ("QGropBox Title Alignment issue") ); QGroupBox * group = new QGroupBox ("Group Title", this); QVBoxLayout * layoutTop = new QVBoxLayout (); layoutTop->addWidget (group); group->setAlignment (Qt::AlignHCenter); this->setLayout (layoutTop); } 但是我得到了意想不到的结果,并且标题与组框左侧一致。 我对环境有这样的行为: Debian 9.0(sid); Qt 5.5.1(从仓库安装); XMonad DE。 我对下一个环境也有同样的行为: Ubuntu 15.10; Qt 5.4(使用offline-installer手动安装); KDE。 但! […]

cachingGoogle Map最初在浏览器中显示较小

这是来自软件的caching地图: ogmaps 请仔细看看主窗口地址栏下面的小阴影。 一旦点击最小化/最大化button,就会显示完整。 在Firefox上testing,谷歌浏览器。 不能说这是浏览器问题,因为当我在Qt小部件上加载这个caching的地图时,我仍然不得不点击最小化/最大化button,以使它完全显示出来。 地图的html太长,无法在这里发布。 如果您有任何相关的部分,请告诉我,我会在这里发布。 编辑2 最后我设法在这里上传这个html代码: http : //code.google.com/p/earthhtml/source/browse/trunk/ogmap.html 请看看div标签。

Qt版本无效

我正在使用Linux,我已经安装了Qt Creator 2.5.2,Qt库4.7.4和4.4.3。 我不能直接安装二进制文件,因为版本之间不兼容。 Qt 4.7.4和Qt 4.4.3的安装过程都是一样的。 我面临的问题是Qt Creator认识到Qt 4.7.4,而不是Qt 4.4.3,错误 Qt版本无效:无法确定Qt安装的二进制文件的path,可能path错误。 那么每个库都安装在/home/$username/qt/Qt-$version 。 当我手动编译一个项目 cd directory /home/$username/qt/Qt-4.4.3/qmake $PATHPRO make 一切工作的魅力,我可以运行应用程序。 我试过了什么? 重新编译Qt-4.4.3 检查文件夹权限 重新启动Qt Creator 在我的桌面上粉碎我的头 有什么想法吗? 操作系统是SUSE Enterprise 11-32位。

在Ubuntu上使用共享库部署Qt应用程序二进制文件

我想部署一个我已经在任何“Vanilla”Ubuntu上运行的Qt应用程序。 它可能是一个.deb软件包,或者简单的二进制文件。 事情是,我不知道该怎么做。 我试图按照这个教程: https : //lemirep.wordpress.com/2013/06/01/deploying-qt-applications-on-linux-and-windows-3/我真的设法让应用程序运行在另一台电脑上,但是…它应该播放一些video,我得到了一个消息: defaultServiceProvider :: requestService():找不到服务 – “org.qt-project.qt.mediaplayer” 我可能错过了一些库。 但我真的不知道哪一个。 当我在我的二进制文件上运行ldd时,一切似乎都没有问题。 ldd的结果如下: libQt5MultimediaWidgets.so.5 => /home/mauker/Qt/5.3/gcc_64/lib/libQt5MultimediaWidgets.so.5 (0x00007f02a0adf000) libQt5Multimedia.so.5 => /home/mauker/Qt/5.3/gcc_64/lib/libQt5Multimedia.so.5 (0x00007f02a07fc000) libQt5Widgets.so.5 => /home/mauker/Qt/5.3/gcc_64/lib/libQt5Widgets.so.5 (0x00007f029ffb9000) libQt5Xml.so.5 => /home/mauker/Qt/5.3/gcc_64/lib/libQt5Xml.so.5 (0x00007f029fd7b000) libQt5Network.so.5 => /home/mauker/Qt/5.3/gcc_64/lib/libQt5Network.so.5 (0x00007f029fa17000) libQt5Gui.so.5 => /home/mauker/Qt/5.3/gcc_64/lib/libQt5Gui.so.5 (0x00007f029f2f3000) libQt5Core.so.5 => /home/mauker/Qt/5.3/gcc_64/lib/libQt5Core.so.5 (0x00007f029ebbf000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f029e8a1000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f029e68a000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 […]