求助,“Ui::getpicClass”类型没有重载成员“operator ->”

wu_ff 2018-08-17 09:31:14
#include "getpic.h"

getpic::getpic(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
this->setMaximumSize(305, 156);
this->setMinimumSize(305, 156);
}

getpic::~getpic()
{

}

void getpic::on_submitButton_clicked()
{

QProcess *Process = new QProcess;
QString startProgram = ui->cmdLineEdit->text();
Process->start(startProgram.trimmed());
}
在QString startProgram = ui->cmdLineEdit->text();这一行报错类型没有重载成员operator->

...全文
428 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sghcpt 2018-08-17
  • 打赏
  • 举报
回复
那ui在类中声明应该是Ui::MainWindow ui;这样吧,应该不是指向Ui::MainWindow类型的指针来的。
wu_ff 2018-08-17
  • 打赏
  • 举报
回复
我把ui->cmdLineEdit改成ui.cmdLineEdit就可以了,但是我不知道为什么,我也比较困惑
sghcpt 2018-08-17
  • 打赏
  • 举报
回复
引用 楼主 weixin_42705704 的回复:
#include "getpic.h"

getpic::getpic(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
this->setMaximumSize(305, 156);
this->setMinimumSize(305, 156);
}

getpic::~getpic()
{

}

void getpic::on_submitButton_clicked()
{

QProcess *Process = new QProcess;
QString startProgram = ui->cmdLineEdit->text();
Process->start(startProgram.trimmed());
}
在QString startProgram = ui->cmdLineEdit->text();这一行报错类型没有重载成员operator->


楼主,你代码中的cmdLineEdit是QTextEdit类型来的?如果是,把text()改为toPlainText()函数试试。。text函数好像是QLineEdit类的函数。
月凉西厢 2018-08-17
  • 打赏
  • 举报
回复 1
从ui.setupUi(this);这句来看,ui是getpic的类内普通成员,不是指针!
另外建议类名首字母大写
wu_ff 2018-08-17
  • 打赏
  • 举报
回复
是的!确实是您说的这个样子

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧