• 4087阅读
  • 3回复

信号槽实现过程中诡异的问题~  急判高手解答 [复制链接]

上一主题 下一主题
离线xstiancai
 
只看楼主 倒序阅读 楼主  发表于: 2009-06-08
.h里定义了如下的

private:
    void iniConnect();

private slots:
        void do_all();



.cpp里实现为下面

UpdatePage::UpdatePage(QWidget *parent)
    : QWidget(parent)
{
    iniStatus();
        iniConnect();
}

void UpdatePage::iniConnect()
{

    connect(allRadioBtn,SIGNAL(toggled()),this,SLOT(do_all()));

}


void UpdatePage::iniStatus()
{
     QLineEdit *ip1 = new QLineEdit(tr("0"));
}

void UpdatePage::do_all()

{
     ip1->setText("192");
}

以上是关键代码  问题应该就出在这部分
每次编译可以通过 运行就提示如下
make debug
make -f Makefile.Debug
make[1]: Entering directory `/root/Desktop/xxaq/qt/configdialog'
make[1]: Nothing to be done for `first'.
make[1]: Leaving directory `/root/Desktop/xxaq/qt/configdialog'


注释掉iniConect();后就可以正常运行,百度谷歌很久也没有答案。。。希望好心人予以解答  谢了
离线foxyz

只看该作者 1楼 发表于: 2009-06-08
代码不全,无法解答.不过我曾经看到过有人在自己写的widget的构造函数中直接处理了一下init却无法成功的问题。
问题出在:构造函数中,该widget构造顺序是:先new出来一个,然后再调用setproperty设置property。
离线mmmou2000
只看该作者 2楼 发表于: 2009-06-08
问一下connect(allRadioBtn,SIGNAL(toggled()),this,SLOT(do_all()));
这个allRadioBtn 在哪里初始化的?
可能的这儿出的问题吧
离线anycall
只看该作者 3楼 发表于: 2009-06-08
void UpdatePage::iniStatus()
{
     QLineEdit *ip1 = new QLineEdit(tr("0"));
}
ip1是局部变量。
void UpdatePage::do_all()
{
     ip1->setText("192");
}

在上面函数中还能使用吗?
快速回复
限100 字节
 
上一个 下一个