QT的之clicked、pressed、released、toggled、triggered等信号区别

QAbstractButton 的四个信号

clicked(bool checked):鼠标松开时触发。如果鼠标拖拽到按钮区域之外释放则不会触发。对应的函数是 mouseReleaseEvent()。一般情况下 connect 槽函数时使用该信号。

pressed(): 鼠标按下时,发射信号。对应 mousePressEvent()

released():鼠标松开时,发射信号。即使鼠标拖拽到按钮区域之外释放也会触发。对应 mouseReleaseEvent()

toggled(bool checked):设置 setCheckable(true) 后再单击按钮才会触发该信号

正常情况下单击按钮,响应顺序为:pressed() — about 215ms — released() — almost 0ms — clicked()。\n\n\nQToolButton 的一个信号

triggered(QAction *action):给定的 QAction 被触发时,发射信号\n\nQAction 的四个信号

changed():action 发生改变时,发射信号

hovered():光标一移动到该 item 的范围中,一覆盖在上面即会触发此信号。

toggled(bool checked):设置 setCheckable(true) 后再单击按钮才会触发该信号。

checkable 被修改状态(勾选☑、或未勾选⬜),都会触发此信号。当使用函数 setChecked() 时,同样会触发此信号。\n实测在 QSystemTrayIcon 的 menu 中添加 QAction;使用此 toggled 信号,但是却不会被触发对应槽函数,已改用 triggered 来代替完成功能。

triggered(bool checked):点击 菜单栏、 toolbar按钮、或者action 的快捷键,都可以触发此信号。但是如果调用 setChecked()、toggle() 等函数,则不会触发。

你可能感兴趣的:(基础笔记,qt)