ICode9

精准搜索请尝试: 精确搜索
  • 简要源码分析Q_PROPERTY2022-09-08 08:31:04

    本文不打算像文档一样翻译Q_PROPERTY,而是从源码的角度来看看怎么使用Q_PROPERTYQT的PROPERTY官方的定义,为了保持格式,我特地截屏,如下 毫无疑问, QT的moc系统对Q_PROPERTY有特别的处理,我们现在看看他处理了什么.首先,定义一个类Test,代码如下: class Test : public QObject {

  • Qt的Q_CLASSINFO简要分析2022-09-06 22:35:17

    新建一个继承于QObject的空白类,如下: class MyInfo : public QObject { Q_OBJECT public: explicit MyInfo(QObject *parent = nullptr); signals: public slots: }; 然后加上Q_CLASSINFO,如下: class MyInfo : public QObject { Q_OBJECT Q_CLASSINFO("Vers

  • QT“程序异常结束”问题解决2022-08-19 09:34:18

    今天用QT写个小程序,出现了一个小问题,就是程序编译通过了,也能运行,但是有一个按键按下后程序就会异常结束。 解决办法:由于文件中有多个类,而使用某个类的函数时,存在对象只声明,未创建就使用的情况。例如,程序中只声明了一个对象QObject * object,未进行object = new QObject就直接使用o

  • QObject::connect: Parentheses expected, signal QAction::triggered in ..2022-08-19 09:32:46

    提示信息: QObject::connect: Parentheses expected, signal QAction::triggered in .. QObject::connect: (receiver name: 'MainWindow') 且槽函数未执行。 原因:信号语句中少了括号(猪心大姨),应该写成 connect(openAct,SIGNAL(triggered()),this,SLOT(open())); connect(newAct

  • QObject::startTimer: Timers cannot be started from another thread2022-07-12 12:03:23

    今天发现一个bug,找了很久,一开始以为是在线程中使用了 time 等时间类的类,找了半天,并没有发现类似玩意。 最后想了想,应该是哪里直接操作(没有通过信号槽)QObject类(或子类)。果然,在一步一步中调试发现,某个地方直接给QWidget赋值图片操作QGraphicsScene了。 所以出现RT警告的情况有两个情

  • PyQt5 QObject-对象父类、子类设置和查找2022-05-31 16:00:30

    ################################ # PyQt5中文网 - PyQt5全套视频教程 # # https://www.PyQt5.cn/ # # 主讲: 村长 # ################################ from PyQt5.Qt import * import sys class Window(QWidget): def __init__(self):

  • 【Qt】QObject::connect: Cannot queue arguments of type 'QVector<int>' Make sure '2022-05-28 15:05:18

    如下截图所示,增加三行代码即可: #include<QMetaType> Q_DECLARE_METATYPE(QVector<int>); qRegisterMetaType<QVector<int>>("QVector<int>&");    

  • Qt中C++与Qml互相调用2022-03-25 13:02:23

    QML调用C++ 思路 一种解决方案: 使用Qt中的QML调用C++中的类,首先使用需要定义一个继承自 QObject 的类,然后将这个类注册到 QML 中去,然后在这个类使用 Q_INVOKABLE 这个宏修饰的函数,都可以直接在QML中调用。 示例: ## 0x01 定义一个C++类 #include <QObject> #include <QDebug> c

  • Qt-事件过滤及实例2022-03-21 16:03:57

        事件过滤器功能使得一个QObject对象可以监视另一个QObject对象中的事件,通过在一个QObject对象中安装事件过滤器,可以在事件到达该对象前捕获事件,从而起到监视该对象的作用。     例如,实现按下按钮时,按钮上的文字为“Key Down”,松开按钮时,按钮上的文字为“Key Up”,创建一个Q

  • QT中的强制类型转换汇总2022-03-03 12:34:54

    dynamic_cast: 通常在基类和派生类之间转换时使用,run-time cast。const_cast: 主要针对const和volatile的转换。static_cast: 一般的转换,no run-time check.通常,如果你不知道该用哪个,就用这个。reinterpret_cast: 用于进行没有任何关联之间的转换,比如一个字符指针转换为一个整形

  • QT中的信号与槽2022-02-09 21:05:56

    Q_OBJECT 使用信号与槽的类中,必须要加入宏 Q_OBJECT signal & slot 信号与槽之间的绑定 QObject::connect(sender , SIGNAL(signal()), receiver, SLOT(slot())); QObject :是QT所以类的父类 connect() :是一个静态函数 sender:是发送信号的对象名称 signal():是发送的对象的信号

  • 对象树2022-02-04 17:32:27

    在Qt中创建对象的时候会提供一个Parent对象指针 当你创建一个QObject对象时,会看到QObject的构造函数接收一个QObject指针作为参数,这个参数就是 parent,也就是父对象指针 这相当于,在创建QObject对象时,可以提供一个其父对象,我们创建的这个QObject对象会自动添加到其父对象的children(

  • Qt源码解析5-对象模型2022-01-22 10:34:09

    Qt源码解析 索引 标准 C++ 对象模型为对象范例提供了非常有效的运行时支持。但它的静态性质在某些问题领域是不灵活的。图形用户界面编程是一个需要运行时效率和高度灵活性的领域。Qt 通过将 C++ 的速度与 Qt 对象模型的灵活性相结合来提供这一点。 Qt 将这些特性添加到 C++ 中:

  • Qt小技巧12.QObject子类D指针的使用2022-01-17 18:31:15

    1 前言 D指针可以隐藏类的实现细节,对于需要发布库文件的项目来说屏蔽实现细节尤为重要,具体有哪些优点自行查阅下吧,文章太多了,不再重复了,下面介绍下如何使用Qt的方式将D指针应用于自定义类中。 2 举个例子 按照Qt的惯用方法,例如有个自定义的QObject子类叫MyObject(文件myobject.h),需

  • Qt 定时器2022-01-10 20:02:10

    1.定时器 Qt 中的定时器类是QTimer,。QTimer不是一个可见的界面组件。 QTimer继承自QObject类,其主要属性是interval,该属性设置定时中断的周期,单位为毫秒;QTimer主要的信号是timeout(),在定时中断时发射此信号。 在程序设计中,如果需要高精度定时器,一般不建议采用Qt的QTimer类,这是

  • PYQT之- QObject与线程QThread的关系2022-01-10 10:29:59

    QObject 介绍 QObject 是 Qt对象模型的核心。该模型的核心特征是具有一种非常强大的无缝对象通信机制,即信号和槽。您可以使用connect ()将信号连接到槽,并使用disconnect ()断开连接。为避免永无止境的通知循环,您可以使用blockSignals ()临时阻止信号。 QObjects 在对象树中

  • QCamera2021-12-29 08:34:41

    QCamera  Header: #include <QCamera> qmake: QT += multimedia Inherits: QMediaObject             Public Functions   QCamera(QObject *parent = nullptr)   QCamera(const QByteArray &deviceName, QObject *parent = nullptr)   QCamera(c

  • undefined reference to `Counter::valueChanged(int)‘2021-12-26 19:02:48

    问题: i'm trying to learn qt.this is my first example that I'm practicing.but i have this error:C:\Qt2\Qt5.2.1\Tools\QtCreator\bin\recognize_signal_slot\main.cpp:19: error: undefined reference to `Counter::valueChanged(int)' I don'

  • Qt--内存回收机制2021-12-02 15:00:10

    #include "mywidget.h" #include "mybutton.h" #include<QPushButton> myWidget::myWidget(QWidget *parent) : QWidget(parent) { //本窗口的位置都是相对于父窗口的左上角位置 move(100,100); QPushButton *b1= new QPushButton(this); b1->setT

  • QQmlEngine(QML引擎)2021-11-23 13:00:10

    一、描述  QQmlEngine 类为实例化 QML 组件提供了环境。 每个 QML 组件都在 QQmlContext 中实例化。在 QML 中,上下文是按层次排列的,这个层次由 QQmlEngine 管理。 在创建任何 QML 组件之前,应用程序必须创建一个 QQmlEngine 才能访问 QML 上下文。 以下示例展示了如何创建一个简

  • moveToThread 的样例2021-11-18 14:02:36

    main.cpp #include <QCoreApplication> #include "Controller.h" using namespace std; int main(int argc,char *argv[]) { QCoreApplication a(argc,argv); qDebug() << "main thread:" << QThread::currentThreadId();

  • qobject_impl.h2021-11-05 08:33:01

    1、qobject_impl.h /**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtCore module of the Qt Toolkit. ** ** $QT

  • Window系统下开发Qt(13)-- QSignalMapper的运用2021-10-31 10:03:03

    一般点击一个按钮,并且想将预先定好的参数一同发送出去时,由于按钮的点击事件clicked()并没有参数,那么按照一般的做法就会先定义一个槽与clicked()信号关联,然后获取参数,再通过自定义的信号将该参数发送出去。   这个过程无疑是繁琐的,为此,Qt提供了QSignalMapper这个类来解决这个问

  • QThread2021-10-30 08:32:26

    QThread   Header: #include <QThread> qmake: QT += core Inherits: QObject           Public Types enum Priority { IdlePriority, LowestPriority, LowPriority, NormalPriority, ..., InheritPriority }   Public Functions   QThread(QObj

  • QAbstractState2021-10-29 08:31:14

    QAbstractState   Header: #include <QAbstractState> qmake: QT += core Since: Qt 4.6 Inherits: QObject Inherited By: QFinalState, QHistoryState, and QState               Properties active : const bool 1 property inherited from QOb

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有