繁体   English   中英

Qt:连接信号和插槽

[英]Qt: Connecting signals and slots

我有一个MainWindow ,其中包含带有QTextEdit的自定义窗口小部件。 我想在MainWindowQTextEdit之间创建一个信号/插槽。

MainWindow我有:

QObject::connect(ui->Header,
        SIGNAL(ui->Header->getTextWidget()->textChanged()),
        this, // this : MainWindow
        SLOT(headerUpdated())); // Function of MainWindow

但这是行不通的。 甚至有可能创建这种信号/插槽组合吗?

为什么要打扰-让Qt做所有的魔术:)像这样命名您的插槽(在mainWindow中):

void on_<object name>_<signal name>(<signal parameters>);

这样就完成了。 此处的更多信息: http : //doc.qt.io/qt-5/qmetaobject.html#connectSlotsByName重要:“对象名称”部分表示对象的名称,而不是变量名。 如果您在QtDesigner中设计窗口,则应进行设置(在ui.setupUi方法中)。 如果不是,请手动设置(通过调用setObjectName

只要注意插槽中的参数数量即可。 这是我的工作:我只是复制信号原型(从标头或文档中复制-例如: http : //doc.qt.io/qt-5/qabstractitemmodel.html#dataChanged-再次注意“ ::“和方法名称[某种类型的unbreakable-zerowidth-space]-仅在从v5.x doc复制时出现),并在其前面加上on_objectName_ 这样可以保证您的插槽可以正常连接信号

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM