请各位大神指导!!
程序说明如下:
class TWidget ::QWidget
{
public :
TWidget();
~TWidget();
QLineEdit le;
等等
}
使用时,我实例化该对象,TWidget *widget = new TWidget(); widget->le->setText("ok"); widget->show(); 程序报错,应该是指针问题,可能出现在widget->le->setText()处,比较费解,难道这一子控件被释放了?
那么如何来调用这一lineedit呢,我继承生成的类是要动态生成,获得生成控件中lineedit中的数据!
拜求回答!
Qt:继承QWidget写一个类,该类中有Qlineedit、QLable等控件;使用时实例化该类,但访问该类时出错
答案:2 悬赏:30 手机版
解决时间 2021-03-01 22:45
- 提问者网友:溺爱和你
- 2021-03-01 13:28
最佳答案
- 五星知识达人网友:千杯敬自由
- 2021-03-01 14:58
你没有学过数据封装吗?还用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?
.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?
全部回答
- 1楼网友:未来江山和你
- 2021-03-01 16:37
支持一下感觉挺不错的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯