问题标签 [qt4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt4 - Qt menuBar() 错误
我正在学习 Qt4 并完成他们的教程。
在本教程中:
http://doc.trolltech.com/4.5/mainwindows-menus-mainwindow-cpp.html
他们有以下代码:
这会导致编译器抛出此错误
有谁知道我该如何解决这个问题?
[编辑] 使用 g++ 添加了完整的错误消息
eclipse - Eclipse 集成中的 Qt 设计器插件(自定义小部件)
我制作了自定义小部件插件,它在 Qt 设计器中被识别和可见,但 Qt 创建者和 Qt eclipse 集成没有显示它。
有谁知道如何解决这个问题?
windows - 在 Windows 上重命名 DLL
我正在使用 Visual Studio 2003 在 Windows 上构建应用程序。
我的应用程序链接到第 3 方库(Qt)。调用 libqtcore4.lib
和 dll qtcore4.dll
。
我的应用程序是另一个基于 Qt 的应用程序的插件,它使用相同 qtcore4.dll 的不同版本。
不幸的是,我不能使用与主机应用程序相同版本的 Qt,所以我想如果我重命名我的 Qt 版本的 lib 和 DLL 是否可以工作,例如:
我猜qtcore4.lib是指里面的qtcore4.dll。所以我不确定这是否会起作用。
c++ - Qt 中自定义小部件的自定义样式
有没有人有使用 Qt 中自定义样式的自定义小部件的经验?(我使用的是 Qt 4.5)
问题看起来像这样:
我想开发一些不完全基于现有绘图图元和子控件的自定义控件。由于整个应用程序应该是可换肤的,我想依赖自定义样式,也可能在样式表上。
我需要为这些新控件配置以下内容:
- 其他指标
- 额外的调色板条目
- 其他样式选项
在互联网和文档上挖掘,我发现我需要从一个QStyle
子类派生一个新的样式类,并覆盖波兰方法以添加新的调色板条目,以及drawControl
(和其他绘制方法)为自定义控件绘制逻辑和定制零件。
我有两个困扰我的问题:
目前,已经在 Qt 中实现了针对不同样式的不同样式类。(例如
QMotifStyle
,QWindowsStyle
),每个都有不同的设置。通过继承,我需要为每种样式重新实现绘画和附加设置逻辑,以便正确集成所有这些样式。我还有其他选择吗?我仍然对如何将样式表与这些自定义样式一起使用感到困惑。谁能指出我可以找到比 Qt 文档提供的信息更多信息的地方?(Qt 中的示例对我帮助不大)。
c++ - C++ 中的线程问题
我在许多流行的论坛上问过这个问题,但没有具体的回应。我的应用程序使用串行通信与外部系统连接,每个系统都有自己的接口协议。从系统接收的数据显示在 Qt 4.2.1 中制作的 GUI 上。
应用程序的结构是这样的
当应用程序启动时,我们有一个登录页面,其中有四个模块可供选择。这是作为 maindisplay 类实现的。这四个模块中的每一个本身都是一个单独的类。这里涉及的模块是动作类,负责收集和显示来自各种系统的数据。
用户身份验证使他/她进入操作屏幕。动作屏幕类的构造函数执行,除了普通的初始化之外,它还启动单独的系统线程,这些线程被实现为单例。
每个系统协议都实现为以下形式的单例线程:
在实现文件 *.cpp 中:
运行函数的结构
在动作屏幕类中,我使用 sigaction 和 saio 定义了 InputSignalHandler。这是一个函数指针,一旦数据到达任何串行端口,它就会被激活。
它是一个全局函数(我们无法更改它,因为它特定于 Linux),它仅用于比较数据到达的串行端口的文件描述符和传感器系统的 fd,如果找到匹配项 WaitCondition.wakeOne在该线程上调用,它会等待并读取和处理数据。
在动作屏幕类中,各个线程以SensorProtocol::getInstance()->start()
.
每个系统的协议都有一个发送数据的帧速率。基于这一事实,在操作屏幕中,我们设置了更新计时器以在协议刷新率时超时。当这些计时器超时时,调用操作屏幕的 UpdateSensorProtocol() 函数
这会抓取一个传感器单例实例作为
对于单例实例的所有用途SensorProtocol::getInstance()
都使用。鉴于上述情况,无论我做什么更改,我的协议之一都会挂起。
挂起发生在使用 UpdateSensorProtocol() 显示数据时,如果我在其中注释ShowSensorData()
函数,UpdateSensorProtocol()
它工作正常。但否则它会挂起并且 GUI 冻结。有什么建议么!
此外,由于主线程抓取了单例的运行实例,它真的是多线程的吗,因为我们本质上是在单例本身中更改 mUpdate,尽管是从动作屏幕开始的。
我对此感到困惑。
另外,有人可以建议我现在正在做什么的替代设计。
提前致谢
qt4 - 在 Qt (Ubuntu) 中编译时出错
在 Ubuntu OS 中编译 Qt 4.5 中的示例程序时出现以下错误。
c++ - 我应该如何使用带有布局和小部件的 QGraphicsScene
我正在 Qt4 中创建一些图形数据显示小部件,我很想使用它,为数据项QGraphicsScene
创建s 等。QGraphicsItem
但是,我想添加一些控件层(例如滚动条、缩放+其他按钮 - 我想使其具有与例如 Google Maps 类似的样式,即数据将显示在整个小部件中,并且按钮将显示在它们的顶部)到小部件。所以我认为将它们添加到场景中可能是可行的(也许作为QGraphicsGroupItem
将显示在数据上的 a 的孩子)。但是我希望它们在调整整个小部件的大小时移动和调整大小,所以我应该使用 aQGraphicsLayout
来管理它们。但此时,我发现事情相当复杂。
问题是,当使用 时QGraphicsLayout
,以下约束成立:
QGraphicsWidget
布局只能管理aQGraphicsLayout
只能用于管理 a 的子级QGraphicsWidget
这意味着我必须将我的控件创建为QGraphicsWidget
s,向数据小部件添加顶级QGraphicsWidget
,并自己管理这个顶级小部件的大小。
所以我想问:
经典的方法(即,对所有控件使用普通的旧小部件,并且
QGraphicsScene
仅用于显示数据)不是更合理吗?在这种情况下使用有什么好处
QGraphicsScene
(性能或简单性......)?我应该如何
QGraphicsScene
利用它的优势?
sql - QSqlTableModel 的问题——没有自动更新
在 Qt 4.4 中像这样设置表模型后:
内容显示正常,但无法编辑,错误:
c++ - 使用带有事件循环和 QSocketNotifiers 的线程的问题串行端口监视
我昨天问了这个问题,因为我没有收到任何数据,但奇怪的是,当我在析构函数中使用 wait 时,我开始收到来自QSocketNotifier
. 剩下的问题是一样的。有人可以提出一些建议吗?我创建了一个示例应用程序,从中启动单独的线程来读取和处理来自串行端口的数据。QSocketNotifier
用于检测串口是否有数据到达。exec()
我在线程的运行函数中使用语句启动事件循环。但是,当套接字通知器工作后才运行应用程序时,永远不会生成串行端口激活的信号。而且一旦生成,生成速度非常快,不等于发送设备的帧率。
这是串行通信器线程的简短代码示例:
SerialPortWatchOne.cpp
注意:klass 是一个线程,是 GUI 线程的成员,在 GUI 线程 c'tor 中实例化。GUI 会定期使用来自 klass 线程的数据更新其小部件。
任何人都可以建议问题是什么?以前有人这样做过吗。
linux - Linux 套接字与 Qt 4 中的 QTcpSockets 通信
我正在尝试在 Qt 程序和常规 linux 程序之间与 TCP 通信。我有一个现有的 linux 客户端服务器程序,我正在尝试用 Qt 应用程序替换服务器程序。这是linux客户端代码
这是qt代码
当我尝试同时运行它们时,我只得到“String =”而不是字符串输出。知道我做错了什么吗?