我正在尝试在另一台计算机上运行我的Qt应用程序(它完全适用于我的,我开发它的地方).当我通过终端启动此应用程序时,我收到此错误 -
QXcbConnection:XCB错误:148(未知),序列:175,资源ID:0,主要代码:140(未知),次要代码:20
我的程序确实启动,一切看起来都不错,但是当我运行它时,我看到与显示器交互时的奇怪行为(一些绘制命令没有被执行,这对我的应用程序至关重要).
我已经尝试搜索此错误,到目前为止我找不到任何解决方案.你有什么建议吗?
使用ubuntu 16.04,搭配Nvidia 1050 GTX gpu
我正在尝试使用QMediaPlayer类播放视频,但不断收到此错误 -
`GLib-GObject-WARNING **: cannot register existing type 'GstObject'
GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed
GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed
GStreamer-CRITICAL **: gst_pad_get_negotiated_caps: assertion 'GST_IS_PAD (pad)' failed`
Run Code Online (Sandbox Code Playgroud)
使用Qt 5.7,使用ubuntu 16.04.使用安装向导安装了qt(即没有自己构建任何东西),这是我为Gstreamer提供的软件包 -
ii gir1.2-gstreamer-0.10 0.10.36-1.5ubuntu1 amd64 Description: GObject introspection data for the GStreamer library
ii gir1.2-gstreamer-1.0 1.8.3-1~ubuntu0.1 amd64 GObject introspection data for the GStreamer library
ii gstreamer-qapt 3.0.2-0ubuntu1.2 amd64 GStreamer plugin to install codecs using QApt
ii gstreamer0.10-alsa:amd64 …Run Code Online (Sandbox Code Playgroud) 我有一个由 QFutureWatcher 触发的插槽。我正在尝试投射发件人以获取结果
QFutureWatcher<QPair<QImage,QString>>* QFW = qobject_cast<QFutureWatcher<QPair<QImage,QString>>*>(sender());
Run Code Online (Sandbox Code Playgroud)
但不断得到
error: static assertion failed: qobject_cast requires the type to have a Q_OBJECT macro
Run Code Online (Sandbox Code Playgroud)
我不太确定这里有什么问题,这些都是 Qt 内置类型,所以我做错了什么?
有没有办法为 QCategoryAxis 中的每个标签分配颜色?
我知道我可以有一个图例,但我更喜欢在轴上设置颜色以匹配我所拥有的线条的颜色。我想更改标记(类别文本)本身的颜色,而不是刻度线。请注意,我想为每个轴标签设置不同的颜色。
尝试使用axisY.setLabelsBrush(QBrush(Qt::red));
但是这为所有标签设置了相同的颜色。
使用 Qt 5.10
我需要将一个字节数组转换为浮点数组.我通过网络连接获取字节,然后需要将它们解析为浮点数.阵列的大小没有预定义.这是我到目前为止使用工会的代码.您对如何让它运行得更快有什么建议吗?
int offset = DATA_OFFSET - 1;
UStuff bb;
//Convert every 4 bytes to float using a union
for (int i = 0; i < NUM_OF_POINTS;i++){
//Going backwards - due to endianness
for (int j = offset + BYTE_FLOAT*i + BYTE_FLOAT ; j > offset + BYTE_FLOAT*i; --j)
{
bb.c[(offset + BYTE_FLOAT*i + BYTE_FLOAT)- j] = sample[j];
}
res.append(bb.f);
}
return res;
Run Code Online (Sandbox Code Playgroud)
这是我使用的联盟
union UStuff
{
float f;
unsigned char c[4];
};
Run Code Online (Sandbox Code Playgroud)