Articles of qt

键盘inputQt

我正在开发一个在embedded式Linux上运行的Qt应用程序。 我对这个Qt业务很新,因为我刚刚开始了一个月,所以明白,我不是那个面向对象 …:P 我有我的目标运行Linux上运行的Qt应用程序。 Qt文档http://doc.qt.io/archives/qt-4.7/qt-embedded-pointer.html说,我们必须通过导出某些variables来启用触摸屏,USB键盘,键盘等。 也就是说, export QWS_MOUSE_PROTO=tslib:/dev/input/event1 export QWS_KEYBOARD="linuxinput:/dev/input/event0 usb:/dev/input/event2" 好吧,你可以猜到,第一行将QT中的鼠标设备设置为触摸屏。 “tslib”是触摸屏库,“event1”是代表触摸屏的节点。 同样,第二行是用于板载键盘(event0)和USB键盘(event2)的。 现在,触摸屏工作得很好。 但是问题出在哪个键盘上。 如果我不导出第二个variables,即QWS_KEYBOARD ,那么应用程序运行良好。 但是,如果我导出第二个variables,则应用程序一旦启动就会进入停止状态(SIGSTOP)。 从ps输出中可以看出这一点。 我无法使它与SIGCONT合作。 我将尝试从源代码重新configurationQt。 任何想法都欢迎。

在QWidget外部GUI线程上绘画问题

我正在开发一个应用程序,我想连续从远程主机接收图像并将其显示在屏幕上。 为此,我遵循给定的策略1)我有一个主要的QWidget对象,其中包含的QImage(工作正常)2)从远程主机接收的图像被绘制在QImage对象,这项工作是在一个工作线程使用QPainter完成。 (工作正常)3)但问题是,图像不更新QWidget,除非我调整窗口小部件,因为重绘事件调用QWidget …现在,如果我从工作线程重绘QWidget,它会给出错误“ QPixmap:在GUI线程之外使用pixmaps是不安全的..“和应用程序崩溃。 有关于此的任何帮助?

如何将X11事件传递给QDialog

目前,我正在尝试将系统X11事件(在Linux上)传递给我创build的对象。 要做到这一点,我已经从我的QApplication安装了一个eventFilter到我的对象。 这是有效的,因为它获得了应用程序的所有事件。 不过,我也需要传递对象X11事件。 我继续前进,在我的对象中创build了一个x11Event,希望它能够接收来自X11的事件,但事实并非如此。 反正有X11事件直接传递给我的对象,在我的应用程序?

为Linux开发

我想开发Linux的多媒体编码器。 我想利用就绪的命令行编解码器,如ffmpeg。 我想build立好的graphics用户界面和传递命令行编码器的参数。 我正在考虑使用Qt。 (可能吗?) 我对Linux编程一无所知,但是我已经是Ubuntu用户8个月了。 请向我提供指导教程的链接。 (我已经尝试了Ubuntu论坛,但这里面都是初学者的东西!) 我需要你们的提示。 我准备好了解它的一切! 我准备好学习新的语言。 谢谢!

如何禁用Qt在捕获窗口小部件焦点导航的箭头键的Linux上的行为

我正在开发一个主要在MacOS上开发的Qt应用程序,但是这个应用程序也是在Linux上构build和testing的。 我们在主窗口类中定义一个keyPressEvent()方法来响应某些键盘事件。 其中,我们响应Qt :: Key_Left,Qt :: Key_Right和Qt :: Key_Space。 这在MacOS上很好用。 然而,在Linux上,我们从来没有得到这些事件。 做一些谷歌search(并确认它与我们的应用程序在Linux上的行为),似乎这样做的原因是Qt使用这些键在应用程序的GUI中button窗口小部件的键盘导航。 如果我按下Linux上的箭头键,我将遍历所有活动的button小部件,依次select每个小部件。 如果我单击空格键,则按下当前选定的button。 到目前为止,Googlesearch所能find的所有build议都是关于如何将滤镜子类化或应用到特定button,以避免这种行为,方法是让button忽略事件并将其传递。 但是我不想为每个我放入GUI的button部件做这件事。 这只是跛脚。 有没有办法全局禁用这种行为,并允许我的应用程序代码实际上得到所有的箭头键和空格键事件?

如何使用Qextserialport在串行端口上写入

我正在使用Ubunt 10.10。 我想通过QT与一个微控制器(ATmega328p)进行通信,所以为了testing,我在微控制器上创build了一个虚拟应用程序,它从UART中读取字符,并在串行端口(回复)上以相同的字符响应,但在括号。 如果PC发送:a,则PC收到回复[a] 当我使用超级terminal(GtkTerm)从PC发送字符时,应用程序运行良好,但是当我使用QT时,它不起作用。 我正在从QT发送一个串口上的字符,我正在等待在超级terminal上收到回复,但是我没有收到任何回复。 串行通信属性:Baud9600,Parity_none,Stop_bits_1,Data_8bits,Flow_control_Off #include <QtCore/QCoreApplication> #include <qextserialport.h> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); const char data[]= "e"; QextSerialPort * port = new QextSerialPort("/dev/ttyUSB0"); port->setBaudRate(BAUD9600); port->setFlowControl(FLOW_OFF); port->setParity(PAR_NONE); port->setDataBits(DATA_8); port->setStopBits(STOP_1); port->setTimeout(0); bool res = false; res = port->open(QIODevice::ReadWrite | QIODevice::Unbuffered); if(res) { qDebug("Opened"); qDebug(data); int i = port->write(data, sizeof(data)); } […]

如何使用QT,OpenGL,C ++和Linux更改屏幕分辨率?

我只想做一个全屏游戏。 我知道如何在Windows上更改分辨率,但是如何在Linux下更改分辨率? 有没有跨平台的QT解决scheme呢? 另外我的GLWidget也有边框。 如何使窗口部件覆盖整个窗口? 我只是要发布代码: #include <QtOpenGL> class GLWidget : public QGLWidget { public: void initializeGL() { glClearColor(0.0f, 0.0f, 1.0f, 0.0f); glClearDepth(1.0f); } void paintGL() { glClear(GL_COLOR_BUFFER_BIT); } void resizeGL(int width, int height) { int side = qMin(width, height); glViewport((width – side) / 2, (height – side) / 2, side, side); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-0.5f, […]

QFileDialog :: getSaveFileName和默认的selectedFilter

我有一些filtergetSaveFileName,我希望当用户打开“保存”对话框时select其中之一。 Qt文档说明如下: 可以通过将selectedFilter设置为所需的值来select默认的filter。 我尝试下面的变种: QString selFilter="All files (*.*)"; QFileDialog::getSaveFileName(this,"Save file",QDir::currentPath(), "Text files (*.txt);;All files (*.*)",&selFilter); 但是当出现对话框时,select“文本文件”filter(通常情况下,列表中的第一个filter)。 我也尝试了以下所有内容: selFilter="All files"; selFilter="All files (*.*)\n"; selFilter="All files (*.*);;"; selFilter="All files (*.*)\0"; 以及这些变体的不同混合物。 我的代码中的filter列表的格式是根据文档(来自Qt文档的示例行)完成的: "Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)" 请注意,输出到selFiltervariables正常工作:用户按下确定后,selFiltervariables包含用户select的filter。 平台:Linux(OpenSUSE 12.1),Qt 4.7.4,gcc 4.6.2。 那么如何设置默认filter呢?

如何在Qt Creator中抑制警告

我想知道是否有可能在Qt-Creator中禁止编译器特定的警告。 我的g ++ – 4.5打印: 警告:条件expression式中的枚举types和非枚举types 我想摆脱它,因为这是非常烦人的。 Ubuntu 11.04 x64 克++ – 4.5 QtCreator 2.01 Qt 4.7 谢谢!

项目错误:QT中的未知模块:webkitwidgets

我试图使用MXE(在本教程的帮助下),并在qmake && make步骤中收到此错误消息: Project ERROR: Unknown module(s) in QT: webkitwidgets". 这是什么意思,我该怎么办?