首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏跟Qt君学编程

    判断信号是否绑定了

    判断信号槽之间参数是否一致 原型: [static] bool QMetaObject::checkConnectArgs(const char *signal, const char *method) [static] bool QMetaObject::checkConnectArgs(const QMetaMethod &signal, const QMetaMethod &method) 实现 : bool ok = QMetaObject::checkConnectArgs(SIGNAL(signal2(int)), SLOT(slot2(int))); qDebug() << ok; 4 signal1); // 打印true qDebug() << isSignalConnected; // 检查参数是否一致 ok = QMetaObject

    75910编辑于 2023-03-17
  • 来自专栏程序员

    Qt初识信号槽

    下面是这个普通connect函数的原型: QMetaObject::Connection QObject::connect(const QObject *sender, const char *signal static QMetaObject::Connection QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection) static QMetaObject::Connection QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type = Qt::AutoConnection) static QMetaObject QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type = Qt::AutoConnection) static QMetaObject

    1.1K20发布于 2020-04-08
  • 来自专栏毛毛v5

    OBS推流按钮堆栈信息

    OBSBasic::qt_static_metacall(QObject * _o, QMetaObject::Call _c, int _id, void * * _a) 行 949 C++ OBSBasic::qt_metacall(QMetaObject::Call _c, int _id, void * * _a) 行 1066 C++

    2.3K20发布于 2019-06-11
  • 来自专栏Qt核心机制

    Qt核心:元对象系统(1)- 元对象和元数据

    static QMetaObject::Connection connect(const QObject *sender, const char *signal, staticMetaObject; \ virtual const QMetaObject *metaObject() const; \ virtual void *qt_metacast (const char *); \ virtual int qt_metacall(QMetaObject::Call, int, void **); \ QT_TR_FUNCTIONS \ QMetaObject对象的私有数据中有几个变量需要初始化首先是const QByteArrayData *stringdata; // 元数据的字符串数据,moc文件中解析来的数据如下。 注意content部分,这部分对应了一个元对象的私有结构,struct QMetaObjectPrivate中,位于`qtbase/src/corelib/kernel/qmetaobject_p.h`

    3.2K10编辑于 2022-10-17
  • 来自专栏Rust语言学习交流

    【Rust日报】2022-01-27 Meilisearch 获 500 万美元种子轮融资

    有了这个 wrapper ,以及针对 qmetaobject 和 ki18n 的现有 wrapper ,在 Rust 中开发 KDE 应用程序将变得更加容易。 crates.io - qmetaobject: https://crates.io/crates/qmetaobject crates.io - ki18n: https://crates.io/crates

    45120编辑于 2022-03-24
  • 来自专栏毛毛v5

    OBS源代码阅读笔记

    } } 在obs的QT UI中添加一个新的QDialog,之后,编译提示如下信息: 错误 1 error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject UAEPAXPBD@Z) 错误 3 error LNK2001: 无法解析的外部符号 "public: virtual int __thiscall Widget::qt_metacall(enum QMetaObject qt_metacall@Widget@@UAEHW4Call@QMetaObject@@HPAPAX@Z) 错误 4 fatal error LNK1120: 3 个无法解析的外部命令 这是因为通过

    2K60发布于 2019-06-11
  • 来自专栏蘑菇先生的技术笔记

    qt5中信号和槽的新语法

    使用QMetaObject::Connection的新方式 QMetaObject::Connection m_connection; //… m_connection = QObject::connect 断开连接 是否QMetaObject::Connection应该有一个disconnect()函数? 其他的难题是,如果我们使用新语法,在一些对象关闭时,不能自动断开连接。 一个方式是在断开连接中添加对象的集合,或者一个新函数例如QMetaObject::Connection::require auto c = connect(sender, &Sender::valueChanged 没有什么比得上QMetaObject::Connection::require() 回调 函数例如QHostInfo::lookupHost或QTimer::singleShot或QFileDialog

    2.2K70发布于 2018-05-21
  • 来自专栏Script Boy (CN-SIMO)

    Qt信号与槽自动关联机制

    6121407 参考链接2:http://blog.csdn.net/memory_exception/article/details/50953005 信号与槽可以通过使用手写代码显式的实现关联 ,也可以运用 QMetaObject //connect(ui->calButton,SIGNAL(clicked()),this,SLOT(on_calButton_clicked())); //QMetaObject

    1.4K10发布于 2017-12-26
  • 来自专栏米扑专栏

    Qt中translate、tr关系 与中文问题

    staticMetaObject; /  Q_OBJECT_GETSTATICMETAOBJECT /  virtual const QMetaObject *metaObject() const; /  virtual void *qt_metacast(const char *); /  QT_TR_FUNCTIONS /  virtual int qt_metacall(QMetaObject staticMetaObject 是一个 QMetaObject 类的实例,我们继续看一下该类的源码: /*!   /internal */  QString QMetaObject::tr(const char *s, const char *c) const  {  return QCoreApplication /internal */ QString QMetaObject::trUtf8(const char *s, const char *c) const { return QCoreApplication

    4.4K20发布于 2019-02-19
  • 来自专栏蘑菇先生的技术笔记

    qt5中信号和槽的新语法

    使用QMetaObject::Connection的新方式 QMetaObject::Connection m_connection; //… m_connection = QObject::connect 断开连接 是否QMetaObject::Connection应该有一个disconnect()函数? 其他的难题是,如果我们使用新语法,在一些对象关闭时,不能自动断开连接。 一个方式是在断开连接中添加对象的集合,或者一个新函数例如QMetaObject::Connection::require auto c = connect(sender, &Sender::valueChanged 没有什么比得上QMetaObject::Connection::require() 回调 函数例如QHostInfo::lookupHost或QTimer::singleShot或QFileDialog

    2.4K50发布于 2018-06-21
  • 来自专栏CSharp编程大全

    QT QMessageBox 问题

    如果用on_XXX_clicked()定义槽,Qt的元对象QMetaObject会自动的寻找相关的信号并链接,不能再用connect()链接了,否则就会连接两次。 void QMetaObject::connectSlotsByName ( QObject * object ) [static] 这个也是QT提供的自动绑定机制 如果你调了这个 也会出现递增执行次数的情况

    1.9K30发布于 2020-08-19
  • 来自专栏全栈程序员必看

    Qt属性系统(Qt Property System)

    你可以在运行时期通过QObject,QMetaObject和QMetaProperties查询类属性。 即它们被添加到QObject中而不是QMetaObject中。可以通过传递一个空的QVariant给setProperty函数来移除属性。 例如:   Q_CLASSINFO(“Version” , “3.0.0”)   和被使用的元对象数据一样,类信息可以在运行时通过QMetaObject::classInfo函数访问 附:所谓添加属性到QOject中二不是QMetaObject中的意思是: 假设:有两个MyClass对象的实例a 与 b,当为a动态添加一个属性时,b是不会受到影响的。 QMetaObject是所有的MyClass实例所共享的。 关于Q_DECLARE_METATYPE,另一个重要的用途就是用于注册信号和槽中使用的用户自定类型。

    2.5K40编辑于 2021-12-29
  • 来自专栏Linux驱动

    41.35.QT-多线程与界面之间交互总结

    比如,当我们想调用一个obj下的compute(QString, int, double)槽函数时: 则只需要写入: QMetaObject::invokeMethod(obj, "compute", count;i++) str.append('.'); //循环添加小数点 count=(count+1)%7; QMetaObject

    2.5K10发布于 2019-05-24
  • 来自专栏跟Qt君学编程

    Qt Quick实践系列-Qml与Widget交互

    代码: QQuickWidget *view = new QQuickWidget; view->setSource(QUrl("qrc:/View.qml")); QVariant retVal; QMetaObject value: QVariant(bool, true) 相关 Qt项目配置: QT += quickwidgets 需要用到的头文件: #include <QQuickWidget> #include <QMetaObject

    5.3K10发布于 2020-03-19
  • 来自专栏编程杂记

    pyqt6,ui文件转py两个命令的区别

    )) self.pushButton.setObjectName("pushButton") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName )) self.pushButton.setObjectName("pushButton") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName

    76910编辑于 2024-01-30
  • 来自专栏Pou光明

    Qt Inside信号和槽之connect

    首先connect是一个重载函数,我们最常使用的则是四个参数的调用,即默认连接类型为AutoConnection,也就是下面这个样子: QMetaObject::Connection connect Connection() : nextConnectionList(0), ref_(2), ownArgumentTypes(true) { // ref_ 赋值为 2,以便内部列表使用,同时供 QMetaObject 元对象编译器扩展部分: 相对序号(索引)与元方法: 在每一个 QMetaObject 中,槽、信号以及其它该对象可调用的函数都会分配一个从 0 开始的索引。

    76720发布于 2020-03-23
  • 来自专栏sktj

    python pyqt5弹出子窗体

    pushButton") MainWindow.setCentralWidget(self.centralwidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName Dialog.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) #设置窗体总显示在最上面 self.retranslateUi(Dialog) QtCore.QMetaObject.connectSlotsByName

    2.1K40发布于 2019-07-05
  • 来自专栏Linux驱动

    34.C++-QT信号槽分析

    1.信号和槽实现 1.Q_OBJECT Q_OBJECT展开后,会有一个QMetaObject元对象静态类、还有一些元对象操作函数: signals和slots: 我们以这为例: 预处理之前会调用moc 然后并创建一个qt_static_metacall回调函数,实现调用目标类指针的槽函数: 当我调用emit信号时,其实就是调用moc实现的一个信号函数, 信号函数内部调用了QMetaObject::activate

    1.3K20编辑于 2022-05-10
  • 来自专栏sktj

    python pyqt5 装饰器、信号、槽

    layout = QHBoxLayout() layout.addWidget(self.okButton) self.setLayout(layout) QtCore.QMetaObject.connectSlotsByName

    82620发布于 2019-07-22
  • 来自专栏sktj

    python pyqt5 ui生成py 常用

    pushButton") self.retranslateUi(PUsh) self.pushButton.clicked.connect(PUsh.close) QtCore.QMetaObject.connectSlotsByName

    98320发布于 2019-07-05
领券