xiiing
V2EX  ›  问与答

用 Qt 些了一个小程序,请问在 toolbar 上点右键,关闭 toolbar,会触发一个什么事件?信号和槽该怎么写?

  •  1
     
  •   xiiing · Jul 31, 2014 · 5644 views
    This topic created in 4305 days ago, the information mentioned may be changed or developed.
    我这么写,一点反应都没有
    connect(toolbar, SIGNAL(closeEvent()), this, SLOT(print()));
    我想在关闭的时候同步更新menu的菜单,调了半天都没调出来。
    谢谢拉
    9 replies    2014-07-31 16:36:33 +08:00
    lukic
        1
    lukic  
       Jul 31, 2014
    还是把源码贴上来吧。
    levie
        2
    levie  
       Jul 31, 2014
    QToolBar::visibilityChanged(bool)?
    lukic
        4
    lukic  
       Jul 31, 2014   ❤️ 1
    @xiiing closeEvent() 有声明这个signal?
    xiiing
        5
    xiiing  
    OP
       Jul 31, 2014
    @lukic 是没有,但是我想达到类似这样的效果,不知道怎么才能在关闭toolbox的时候触发print行为。
    lukic
        6
    lukic  
       Jul 31, 2014   ❤️ 1
    @xiiing 没有声明怎么会有效, @levie 给出了正解。另外你为何要连接到 qApp?你的print 声明在类 toolbar里。
    vopfly
        7
    vopfly  
       Jul 31, 2014   ❤️ 1
    override
    virtual void closeEvent(QCloseEvent *event)
    xiiing
        8
    xiiing  
    OP
       Jul 31, 2014
    @lukic
    1.qApp是参考http://www.zetcode.com/gui/qt4/menusandtoolbars/这个写的,初学Qt,不太熟悉这个。
    2.改成connect(toolbar, SIGNAL(visibilityChanged()), this, SLOT(quit()));好像还是不行。提示Object::connect: No such signal QToolBar::visibilityChanged()
    visibilityChanged是4.7的,我现在用的是4.6.2,但是如果改成其它的4.6的signal,也是同样的提示。算了,先不解决这个问题了。
    再次感谢!
    Scumer
        9
    Scumer  
       Jul 31, 2014
    哇 这个地方还有人问技术问题的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5945 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 02:13 · PVG 10:13 · LAX 19:13 · JFK 22:13
    ♥ Do have faith in what you're doing.