• 3027阅读
  • 2回复

[提问]新手关于 QT信号槽自动关联 [复制链接]

上一主题 下一主题
离线lovexin109
 

只看楼主 倒序阅读 楼主  发表于: 2012-08-05

#include "dialog.h"

Dialog::Dialog(QWidget *parent)
  : QDialog(parent)
{

  groupbox_s=new QGroupBox(tr("showbox"));
  groupbox_h=new QGroupBox(tr("hidebox"));
  pushbutton = new QPushButton(tr("hide"),groupbox_s);

  pushbutton_1=new QPushButton(tr("thanks"),groupbox_h);

  layout=new QVBoxLayout();
  layout->addWidget(groupbox_s);
  layout->addWidget(groupbox_h);

  setLayout(layout);
  k=1;
// connect(pushbutton,SIGNAL(clicked()),this,SLOT(on_pushbutton_clicked()));
}

Dialog::~Dialog()
{
    
}
void Dialog::on_pushbutton_clicked()
{
  k=!k;
  groupbox_h->setVisible(k);

}





不知道为什么on_pushbutton_clicked信号与槽不能自动关联,按下按钮没反应,用connect就可以,求助为什么不能自动关联??

    离线ppdayz

    只看该作者 1楼 发表于: 2012-08-05
    回 楼主(lovexin109) 的帖子
    构造完了加一句QMetaObject::connectSlotsByName(this);
    离线lovexin109

    只看该作者 2楼 发表于: 2012-08-05
    在ppdayz的启发下,找到一个帖子原贴http://tieba.baidu.com/f?kz=1400274537要改两个地方pushbutton->setObjectName("pushbutton");然后构造完后加QMetaObject::connectSlotsByName(this);好麻烦--!谢谢ppdayz
    快速回复
    限100 字节
     
    上一个 下一个