Qt笔记系列旨在记录开发Qt应用时学习了解到的信息以及个人的一些理解,以供参考、回顾;
开发方法分类主要记录开发时的一些小技巧小方法,包括工具的使用、快捷键等等。
使用Qt Designer添加信号槽
使用Qt开发时可以在代码中调用connect()
函数来创建对象间的信号槽连接,也可以在Qt Designer中编辑信号槽,通过Qt Designer设置时只需要编写槽函数即可。
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection)
QMetaObject::Connection connect(const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type = Qt::AutoConnection)
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type = Qt::AutoConnection)
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type = Qt::AutoConnection)
Edit Signals/Slots
Qt Designer(Qt Creator设计模式)提供了四种编辑模式,在信号槽模式中可以使用Qt的信号槽机制将控件连接起来。信号槽模式通过界面上方工具栏的”Edit Signals/Slots”按钮或”F4″快捷键进入。
信号槽模式下,将鼠标悬停在控件上方,可以作为信号槽连接的控件将会高亮显示。
此时按住鼠标左键,拖动到要连接的控件上松开,界面上将显示一条从源对象指向目标对象的线,同时弹出配置连接对话框。
在配置连接对话框左侧选择信号,右侧选择槽,点击”OK”即可完成信号槽连接。
将鼠标悬停在控件上方拖动到窗体上松开(结束端点显示为地符号)可以在控件和窗体间建立信号槽连接。
建立信号槽连接后,可以长按连线的端点拖动调整位置。点击选中连线后按下”Delete”键可以删除连接,双击连线可以重新调出配置连接对话框。
点击配置连接对话框中的”编辑…”按钮可以对信号槽进行编辑。
Signals & Slots Editor
在”Signals & Slots Editor”视图中可以查看及修改应用窗体中的信号槽连接(Qt Creator设计模式->菜单栏”View”->”视图”->”Signals & Slots Editor”)。
在信号槽模式中创建的信号槽连接会展示在”Signals & Slots Editor”视图中。
点击”Signals & Slots Editor”视图左上角的加号后会新建一条空白的信号槽连接信息,选择发送者、信号、接收者、槽(双击对应区域后可选择下拉选框)即可完成信号槽连接设置,已创建的信号槽连接也可以双击进行修改。
选中信号槽连接信息点击”Signals & Slots Editor”视图左上角的减号可以将其删除。
参考资料
Qt Designer’s Editing Modes | Qt Designer Manual: https://doc.qt.io/qt-5/designer-editing-mode.html
[2]
Qt Designer’s Signals and Slots Editing Mode | Qt Designer Manual: https://doc.qt.io/qt-5/designer-connection-mode.htm
原文始发于微信公众号(技术知识小记):Qt笔记-使用Qt Designer添加信号槽
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/184953.html