• 3424阅读
  • 4回复

[提问]关于信号和槽 connect时,程序挂掉 [复制链接]

上一主题 下一主题
离线tianmaofu
 
只看楼主 倒序阅读 楼主  发表于: 2013-01-29
我在 FLeftBar(QToolBar)中加入了两个xsToolButton的对象(继承至QToolButton)
我通过下面的代码得到加入的xsToolButton对象, QMessageBox::information可以正常运行
可是一到connect处,程序运行时就挂掉了
编译没有问题
望高手指教一下

int I;
QList<xsToolButton *> buttons = FLeftBar->findChildren<xsToolButton *>();

for(I = 0; I < buttons.count(); I++)
{
      QMessageBox::information(this, "tips", buttons->text());
      QObject::connect(buttons, SIGNAL(ChangeDrawType(DrawType)),
         FViewer, SLOT(ChangeDrawTypeOne(DrawType)));
}
离线tianmaofu
只看该作者 1楼 发表于: 2013-01-29
QObject::connect(buttons[I], SIGNAL(ChangeDrawType(DrawType)),
         FViewer, SLOT(ChangeDrawTypeOne(DrawType)));  //这句话加了I了
离线xinqingfly

只看该作者 2楼 发表于: 2013-01-30
你的FViewer指针是有效的吗
菜鸟也是鸟
离线radium_sql

只看该作者 3楼 发表于: 2013-01-31
我原来碰到过类似的问题,一般是那个指针是个空的,就是还没有实例化的时候会有这样 的问题,可以看一下。
QT什么时候替代MFC?
离线tianmaofu
只看该作者 4楼 发表于: 2013-01-31
悲催的,就是这个原因
初始化的时候错误的初始化了一个同名的局部变量,导致类的变量没有初始化
真个菜的
3q
快速回复
限100 字节
 
上一个 下一个