中易网

Qt:继承QWidget写一个类,该类中有Qlineedit、QLable等控件;使用时实例化该类,但访问该类时出错

答案:1  悬赏:0  
解决时间 2021-01-13 21:17
Qt:继承QWidget写一个类,该类中有Qlineedit、QLable等控件;使用时实例化该类,但访问该类时出错
最佳答案
你没有学过数据封装吗?还用widget->le->setText("ok"); 你不会使用set、get也就算了,这么简单的!
.h文件
class TWidget : public QWidget
{
Q_OBJECT
public:
explicit TWidget(QWidget *parent = 0);
void setLineEditText(QString text);
private:
QLineEdit *line_edit;
};

.cpp文件
TWidget::TWidget(QWidget *parent) : QWidget(parent)
{
line_edit = new QLineEdit(this);
line_edit->setFixedSize(150, 30);
line_edit->move(10, 10);
}
void TWidget::setLineEditText(QString text)
{
line_edit->setText(text);
}
任何时候请不要通过widget->le->setText("ok")这种方式来调用widget里面的东东!OK?
追问:昨天想了下,直接调用类中的对象可能不行,我使用函数,思路和你的类似,实例化后,调用函数还是出错,
TWidget *widget =new TWidget();widget->setLineEditText(“ok”);运行后还是出错的,我个人认为,实例化twidget后,里面的子控件指针默认被释放了,即使是使用函数也是要调用子控件的指针,所以还是会出错,个人想法,请大神指导!其实是可以用widget->le->setText("ok");我找到问题所在了,你提供的思路我也用过,只是我继承出来的QWidget子控件很多,还需要用到子控件的很多特性,所以肯定要直接引用,不能用函数代替!

非常感谢您的作答,我是半路出家,有时间会去学习一下 数据封装!
追答:widget->setLineEditText(“ok”);运行后还是出错的,错误是什么?我是简单编写的,没有测试!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
陶瓷炒锅为啥能干蒸鱼一滴水都不放!
我在工地上从事电工,请问是需要办理那种的电
飞天女(万寿路店)地址在什么地方,想过去办事
已离职员工二次入职能不能要
魔兽世界eui插件怎么添加别的插件
电焊条结422多少钱1kg?型材多少钱1kg?直流电
猜字谜 两狗谈天
请问两排座的电动三轮车哪些路段不让走,昆明
中国最纯的汉族在哪里?
纳智捷阜阳华强汽车生活馆地址有知道的么?有
诗歌,《我帮爷爷捶捶背》,怎么写教案
知道日报
微粉石墨和高碳石墨,中碳石墨,高纯石墨的区
我和现在男朋友说和以前男朋友那个的事,能说
天手力的使用记录
推荐资讯
url做过301,在去掉301后,这个url还能被百度重
linux 命令 du -sS
公务员什么职位即清闲又好考?工资很少也可以
携带国外购买笔记本(1台)电脑入关,是否要交
跪求maya 2019注册机?
霜除了冬天擦其它季节也可以擦吗
YY语音怎样搜索MC主播
新交规扣分后如何清零
梦见女儿换上衣,坚决不换下装预示什么
怎么正确区分股癣与体癣呢,求经验?
for(j=1;j<=n;j*=2);的时间复杂度是多少
geany怎么调整字符标志线
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?