• 3193阅读
  • 2回复

关于在widget中创建widget的错误 [复制链接]

上一主题 下一主题
离线willlmm
 

只看楼主 倒序阅读 楼主  发表于: 2010-01-07
目的:
想在主窗口(继承QWidget)中点击一个按钮,然后弹出一个子窗口(继承QWidget),点击子窗口的退出按钮后返回的主窗口

命令如下:
#qvfb &
#./out -qws

错误:
当点击主窗口“打开”按钮时out程序自动退出,并返回如下错误提示
段错误 (core dumped)

不知道是咋回事,哪位兄台给看看,伪代码如下(编译通过且其他功能都正常):



class CMyWidget:public QWidget
{
    Q_OBJECT
    public:
        CMyWidget(QWidget * = 0);
};


class CMainWindow:public QWidget
{
    Q_OBJECT
    public:
        CMainWindow(QWidget * = 0)
        {
            //..new..
            pMyWidget = new CMyWidget;
            pBtn = new QPushButton;
            
            connect(pBtn,SIGNAL(clicked()),this,SLOT(slotOpen()));
        }

    private:
        CMyWidget *pMyWidget;
        QPushButton *pBtn;  //按钮名“打开”

    public slots:      
        void slotOpen();
};


void CMainWindow::slotOpen()
{
    pMyWidget ->show();
}
[ 此帖被willlmm在2010-01-08 07:08重新编辑 ]
离线shiroki

只看该作者 1楼 发表于: 2010-01-07
除了没找到pPatternSelect在哪里初始化的看不出有什么错误。
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线willlmm

只看该作者 2楼 发表于: 2010-01-08
首先感谢2楼

不好意思弄错了,slotOpen()函数是
void CMainWindow::slotOpen()
{
    pMyWidget ->show();
}
将pPatternSelect换为pMyWidget ,昨晚发帖时考错了。

现在的情况是编译通过,已经可以运行,除过上面的问题,别的功能都正常者
快速回复
限100 字节
 
上一个 下一个