Articles of qt

使用C ++调度任务在Linux和Windows机器上

我正在使用网关模拟器应用程序application.the网关streamvideo到客户端。网关模拟器可以模拟1000网关。用户可以发出命令,如1小时后开始录制,并logging长达1小时或可能stremvideo在5oclock.So基本上安排任务。 这个网关将在Windows和Linux上运行。 这里对于1000个网关来说,可以有1000个来自用户的这样的请求。需要把这个任务保存在这个任务的一些地方,以便它可以在以后执行。我想知道如何实现这个。 我正在使用QT4和C ++一起用于这个应用程序。 在这里,我不能使用任何其他第三方库。 如何在C ++或QT中实现这个function

驱动程序CH341 USB适配器串行端口或QSerialPort不适用于Linux

以下代码在Windows中正确工作,但Linux不起作用。 我使用的是同一台PC,两种操作系统都是本机安装的。 我不使用虚拟机。 我需要在Linux上工作。 我已经尝试在不同的Linux发行版,并不能在任何地方工作。 // In the main class: QSerialPortInfo info = XXXX; // Generally in Linux: /dev/ttyUSB0, in win: COM1 QSerialPort serial; QObject::connect(&serial, SIGNAL(readyRead()), this, SLOT(onReadyRead()), Qt::DirectConnection); QObject::connect(&serial, SIGNAL(bytesWritten(qint64)), this, SLOT(onBytesWritten(qint64)), Qt::DirectConnection); QObject::connect(&serial, SIGNAL(error(QSerialPort::SerialPortError)), this, SLOT(onError(QSerialPort::SerialPortError)), Qt::DirectConnection); // Slot void MyClass::onReadyRead() { qDebug()<<"Signal onReadyRead"; buffer_mutex.lock(); buffer += serial.readAll(); qDebug()<<"Read: "<<qstr_to_hexstr(buffer); bufferNotEmpty.wakeAll(); buffer_mutex.unlock(); } […]

qtcreator发送的信号“停止”

我正在使用Linux,并且我意识到我的应用程序正在使用Qt Creator IDE上的“停止”buttonclosures后台进程。 我想要处理这些情况,这样应用程序就像closures主窗口一样。 为了编写处理程序,我需要知道它对应的信号。

在Linux上构build静态Qt5:如何在部署时处理字体?

我已经使用这些configuration选项(Ubuntu 12.04)创build了静态版本的Qt 5.2.0库: -opensource -confirm-license -force-pkg-config -release -static -prefix'/ home / juzzlin / qt5'-no-icu -opengl桌面-no-glib -accessibility -nomake示例-nomaketesting-qt-zlib – qt-libpng -qt-libjpeg -qt-sql-sqlite -qt-xcb -qt-pcre -v 现在,问题是,当我编译和链接我的应用程序对这些Qt库时,它会尝试从Qt安装path/home/juzzlin/qt5/lib/fonts 。 这应该如何工作? 该应用程序在我用来编译它的机器上工作,但不在其他机器上。 我也不想安装Qt的东西到应用程序的一些系统目录,因为应用程序不应该这样做。 这是我得到的错误: QFontDatabase:找不到字体目录/ home / juzzlin / qt5 / lib / fonts – Qt安装是否正确? 我如何强制它在其他目录中search字体? 另一件我不明白的是,为什么我在用MXE交叉编译Windows时没有这个问题? 在编译Qt库时,它使用几乎相同的configuration选项。

是否可以在QTreeWidget列中sorting数字?

我有一个填充了一些数字的QTreeWidget,我怎么能sorting他们? 如果我使用setSortingEnabled(true); 我只能正确sortingstring,所以我的列sorting: 1 10 100 2 20 200 但这不是我想要的! build议?

在网上运行一个Qt应用程序

我正在编写一个使用Qt的应用程序,并试图将其部署为一个Web应用程序。 我希望用户能够通过Web浏览器访问我的应用程序。 我猜这是一个networking应用程序是什么? 我有什么样的select? 我从来没有想过做这样的事情,但我想学习新的东西。 编辑:如果我将我的应用程序部署在Linux服务器上,并让用户通过terminal访问/运行,该怎么办? 我认为写Web应用程序将比我原先想象的更复杂。

Qt不会在Linux的debug / release文件夹中创build输出文件

当我在Ubuntu上构buildQt应用程序时,它将输出文件放在主解决scheme文件夹中,而不像在Windows上那样释放/debugging文件夹。 这是有问题的,因为有时输出文件需要作为构build过程的一部分运行(例如运行unit testing)。 我有一个想法,这与qmake.conf文件有关,但我不确定该怎么做。 所以我的问题是: 为什么这种差异存在(可能只是我?) 我应该如何确保我的应用程序能够在Windows和Ubuntu上正确构build?

本机KDE寻找Qt 5应用程序

我在Kubuntu 12.10 linux机器上安装Qt5和Qt4,注意到以下几点: 使用Qt4编译的程序具有原生的KDE外观和感觉。 我使用默认的KDE的Oxygen主题,我的程序也是这样(请注意平滑的渐变,标题和蓝色select的焦点部件); 但是当用Qt5 进行重新编译而没有对代码做任何改变的时候 ,它使用了不同的风格(看起来就像是Fusion ),看起来很尴尬和不合适(见右图) 我想要的是非常直截了当的:我希望我的应用能够适应周围的系统,也就是始终看起来是本地的。 在使用Qt4时,我习惯于默认使用这个。 Qt5在Windows中似乎也具有正常的本地外观。 但是我还需要做些什么才能在Kubuntu中拥有相同的function呢? 而且, 到处都是理想的? 我的意思是,我不想强​​制我的应用程序的Linux版本严格使用氧气 。 我希望它能够使用当前在KDE中设置的主题:就像在Qt4中一样。 看起来应用程序代码与这个问题无关:我没有使用任何QStyle,这是Qt的“hello-world”。 但是,以防万一它在GitHub上 。 UPD: @peppe 已经给出了相当充分的答案, 为什么会出现这个问题 (KDE中的Oxygen主题是针对Qt4编译的,而Qt5则无法使用)。 但我仍然在寻找如何解决这个问题的答案? 我试图find氧气主题源来玩,但除了Firefox主题没有find任何东西。 UPD2: @kwirz 提出了一个有趣的想法:强制应用程序使用GTK +主题,并在KDE设置中启用氧气gtk ,使GTK窗口看起来类似于氧气。 一方面,它确实看起来更接近于氧气: 但另一方面,我们已经看到了很小的差异:只读行编辑变成灰色,聚焦的button仍然不亮,等等。不幸的是,当试图将这种技术应用到更复杂的小部件时,出现更多的文物(特别是combobox和微调): 所以看起来这个技术不可能是一个完整的解决scheme,但仍然非常有用的是简单的情况。

C ++加载共享库并在Linux平台上运行时提取类实现

在C ++中,是否有可能在执行时加载共享库? 我希望用户select在运行时加载哪个共享库,而不用重新编译整个程序。 dlopen()是C的一个解决scheme,但是我的程序编写的是C ++ / Qt,提取的符号是Qt风格的类,有没有更多的“c ++”方法来做到这一点。

在没有OpenGL的X11的QT上显示图像的最快方法是什么?

我需要在QT小部件中显示原始图像。 我在framebuffer上运行X11,所以OpenGL不可用。 图像和帧缓冲区都是相同的格式–RGB565,但如果需要的话,我可以将其更改为任何其他格式。 我不需要混合或缩放。 我只是需要显示像素。 我使用QPainter :: drawImage,但它将QImage转换为QPixmap,这种转换似乎是非常缓慢的。 也是Xrender的支持,我认为不需要额外的开销来支持Xrender中的混合,而我并不需要它 有没有更好的办法? 如果在QT中不可用,我可以使用Xlib或任何其他库或协议。 我可以修改驱动程序,X服务器或其他任何东西。