• 5050阅读
  • 11回复

请教:为何子类无法访问基类? [复制链接]

上一主题 下一主题
离线zealane
 

只看楼主 倒序阅读 楼主  发表于: 2009-05-31
我用designer设计了窗口,窗口里有个文本框。
在继承类里我直接给文本框setText,出现段错误。。。。
请问这是为什么?
谢谢。
离线rqzrqh

只看该作者 1楼 发表于: 2009-05-31
具体出错情况?
离线zealane

只看该作者 2楼 发表于: 2009-05-31
具体出错情况就是当代码运行到给基类文本框设置文字时,报段错误就异常推出。。。。
该文本框是在setupUi()里创建的。定义是在基类里的public
离线zealane

只看该作者 3楼 发表于: 2009-06-01
奇怪,为啥lineedit->setText就会报段错误,而其他组件不报错。
离线shiroki

只看该作者 4楼 发表于: 2009-06-01
构造函数代码贴出来看
--
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
离线zealane

只看该作者 5楼 发表于: 2009-06-01
ui_ScbButton.h 是UI自动生成的。
class Ui_ScbButton{
    public :QLineEdit *num_input;
    void setupUi(QWidget *ScbButton) {
    ...
   ...
   }
}
ScbButton继承了Ui_ScbButton

在scbbutton.cpp 的构造函数中 num_input->setText("sss");
执行到该句,就会报  段错误。
离线yang_huafeng

只看该作者 6楼 发表于: 2009-06-01
先num_input=new QLineEdit;  然后执行num_input->setText("sss");
QT使用中...
离线zealane

只看该作者 7楼 发表于: 2009-06-01
引用第6楼yang_huafeng于2009-06-01 13:15发表的  :
先num_input=new QLineEdit;  然后执行num_input->setText("sss");

有的啊,在setupUi()函数里。。。。
离线shiroki

只看该作者 8楼 发表于: 2009-06-01
你不是说在继承类里调用会出错吗, 贴继承类的代码。 qt生成的代码不会出错的
--
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
离线zealane

只看该作者 9楼 发表于: 2009-06-01
Mainframe::Mainframe(QWidget *parent)
{
    num_input=new QLineEdit;
    num_input->setText("sss");
}

这样就会报错。
而其他组件并不会报错。
如果将num_input定义在Mainframe构造函数里,也不报错。
百思不得其解。
离线yang_huafeng

只看该作者 10楼 发表于: 2009-06-01
难道和我原来遇到的情况一样(至今不晓得为啥):

有时候在.h文件中,定义对象,
如:
QPushButton pb;
QLabel lb;
在.cpp文件中,对lb的任何操作都会出现段错误,但是如果把它们定义的顺序换一下,即先定义lb:
QLabel lb;
QPushButton pb;
这样,对lb的操作就不会报错了,但是有可能对pb操作又会报错,也就是对最后一个定义的对象操作容易报段错误,当然这种情况只是偶尔会出现(但很烦人),出现这种情况我现在的处理办法是在最后定义一个无用的对象(哈哈,很笨的方法吧)。

你不会真的是我说的这种情况吧?
QT使用中...
离线shiroki

只看该作者 11楼 发表于: 2009-06-01
这个嘛。。。。也太神奇了吧??
你们是桌面版还是嵌入式? 是哪个版本?哪个平台? 把整个code包贴成附件我来试试
--
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
快速回复
限100 字节
 
上一个 下一个