问题标签 [qobject]

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.

0 投票
2 回答
23444 浏览

qt - 在 QGraphicsScene 类中跟踪鼠标移动

我继承了 QGraphicsScene 并添加了方法 mouseMoveEvent 来处理鼠标移动事件。我在 GraphicsView 之上创建了一个标尺,并让标尺跟踪鼠标移动。在 QGraphicsScene::mousemoveEvent 中,我明确地调用了标尺小部件的 mouseMoveEvent。目的是让标尺知道当前鼠标位置。

现在,当我移动鼠标时,似乎没有调用 QGraphicsScene::mousemoveEvent 。但是,如果我按下鼠标左键并在按住按钮的同时移动它,我可以让它工作。这不是我想看到的;我希望每当我将鼠标放在视图上并移动鼠标时都会调用此方法。

有什么解决方法吗?

0 投票
2 回答
6021 浏览

c++ - QObject 继承 Ambiguous Base

我有一个简单的类,当我的程序获得和失去焦点时停止和启动一个计时器,但它给出的错误是 QObject 是 MyApp 在每个信号槽连接上的模糊基础。以下是相关代码:

这是我的(凌乱的)Main.cpp:

我的应用程序.cpp:

0 投票
1 回答
3803 浏览

pyqt - 循环 QProgressBar 给出错误 >> QObject::installEventFilter: 无法过滤不同线程中对象的事件

这个问题似乎已经以许多不同的形式被问过很多次,但我还没有找到一个与我的代码解决方案相关的问题。

当我运行程序时它显示

QObject::installEventFilter:无法过滤不同线程中对象的事件。

尽管如此,代码最初可以工作,但一段时间后它会爆炸,python 会给出一个错误,说它停止工作。

我的代码如下:

0 投票
1 回答
1001 浏览

qt - 即使在声明了复制构造函数之后,QObject 也会返回异常

我正在尝试为 qt 脚本编写示例代码。当我与复制构造器声明时,我认为我做的事情是正确的,QObjecy并且我还冒昧地声明了=操作员。但是这段代码一直给我

错误。

我声明 a MyClasswhich is aQObject如下。我知道这样一个事实,有人可以看到我在这里做的事情。

标题:

我的源类如下:

0 投票
1 回答
1268 浏览

qt - 将 QStandardItemModel 转换为 QVariant

我正在尝试将 QStandardItemModel 派生对象发送到 PythonQt,但我对如何发送它有点困惑。当我使用 boost::python 时,我有几个控件,比如 boost::noncopyable,以确保我没有重新创建这个对象,而是与 python 共享它。我还有一些构造可以从 python 内部提供一个指向 python 的 boost 共享指针。

class Scene : public boost::enable_shared_from_this<Scene>, public QStandardItemModel

但是,在 PythonQt 中,我不确定有什么可用的。该函数call为所有函数参数采用 QVariantList。

QVariant PythonQt::call(PyObject* object, const QString &callable, const QVariantList &args = QVariantList))

我现在很困惑的是如何通过 QVariant 将我的对象传递给 python。由于它是从 QStandardItemModel 派生的,我认为它已经注册了

但这给了我以下错误:

'qt_metatype_id' : is not a member of 'QMetaTypeId<MyObject>'

我在声明我的班级后尝试注册它,但这会引发不同的错误。

我实际上得到了两次错误——一次是在我添加 Q_DECLARE_METATYPE 的标题中,另一个是另一个标题,它有一个始终派生自 QStandardItemModel 但在其他方面无关的类。

Q_DECLARE_METATYPE 甚至是将此对象转换为 QVariant 的正确方法吗?

BOOST_PYTHON_MODULE(场景) { class_("场景"); }

0 投票
1 回答
1944 浏览

qt - 如何防止在 Qt 中的 deleteChildren() 期间删除孩子?

我有一个日志接口,允许用户继承 aLogger并覆盖log()虚函数,以便用户可以创建自己的记录器。有一个管理器跟踪所有已注册的日志记录方法(即控制台、系统日志、小部件等)

我创建了一个显示日志的 QListWidget Logger。不幸的是,它归日志管理器所有,因为它是一个 QObject,它也是 MainWindow 的子窗口。这导致两个对象试图在应用程序关闭时将其删除。

第一次QObjects->deleteChildren()被调用并删除它。然后 Loggin gmanager 再次尝试并崩溃。

如何防止特定的 QObject 在 期间被破坏deleteChildren()?这是个坏主意吗?

0 投票
2 回答
26761 浏览

window - 如何从 QML 中创建新窗口?

有没有办法创建一个全新的窗口实例,作为 QmlApplication 中主 QML 窗口的子窗口?

我试图避免Q_OBJECT仅仅为了在新的QmlApplicationViewer.

0 投票
1 回答
5344 浏览

c++ - Qt 的 C++ 接口

我的问题是,我的接口可以从 QObject 继承吗?怎么做?好吧,我知道 C++ 中的接口只是只包含虚拟方法的类,通常一个类可以从超类继承。但是,如果我这样做,由于 QObject 引用不明确,我会得到一个错误。我需要继承 QObject 以向我的插件添加信号/插槽功能。

我的界面

插件头文件

实施文件

我收到错误

0 投票
0 回答
248 浏览

c++ - mini2440 中的应用程序崩溃

我在 mini2440(FriendlyARM Board)内运行 Qtopia 2.2.0 应用程序。到目前为止,应用程序大小为 128kb,并且还会增长更多。总共有 45-50 个(源+头)文件。现在,如果我向一个特定文件添加一些代码段,应用程序就会崩溃。我尝试将代码移动到其他文件并包含该文件,但它仍然没有锻炼。首先我认为这可能是应用程序大小的问题,但如果我添加更多的 .cpp 和 .h 文件,应用程序大小会增加,但运行良好。与 UI 交互的主文件(类)是用 Qt/C++ 编写的,所有其他文件都是 C 和 C++(普通 .h 和 .cpp)。我无法调试出问题所在。任何线索将不胜感激。

0 投票
4 回答
5514 浏览

qt - 有没有一种简单的方法来限制 QObject::findChild() 只引导孩子?

问题在标题中。我在文档中找不到任何明显的建议这样做的方法。我必须使用递归子查找方法并顺序测试每个子的父指针以过滤掉非直接子吗?

顺便说一句,文档似乎指的是“直系祖先”,我认为它的意思是“直系后代”。

(编辑:我正在寻找简单,所以答案不必使用该findChild()方法。)