qt报错:'('expected

dodolzg 2010-03-18 05:42:49
#include "HelloWorld.h"

HelloWorld::HelloWorld(QWidget *parent) :
QMainWindow(parent)
{
ui.setupUi(this);
printf("测试1");
QObject::connect(Ui_HelloWorldClass.pushButton, SIGNAL(clicked()),Ui_HelloWorldClass.label, SLOT(Ui_HelloWorldClass.label.setText("hello")));//本行报错
}

HelloWorld::~HelloWorld()
{

}

void HelloWorld::buttonClick()
{
// Ui_HelloWorldClass.label.setText("hello");
// Ui_HelloWorldClass.textEdit.append("hello world");
printf("测试");
}


提示'('expected
另外“测试1”也不能打印出来,为啥?
按钮等控件是在ui界面直接拉过来用的
本人刚刚入门,谢谢指点~
...全文
473 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dodolzg 2010-03-19
  • 打赏
  • 举报
回复
把点换成“->”.....
dodolzg 2010-03-19
  • 打赏
  • 举报
回复
#include "HelloWorld.h"

HelloWorld::HelloWorld(QWidget *parent) :
QMainWindow(parent)
{
ui.setupUi(this);
connect(ui.pushButton, SIGNAL(clicked()),ui.textEdit, SLOT(buttonClick()));
}

HelloWorld::~HelloWorld()
{

}

void HelloWorld::buttonClick()
{
ui.textEdit->append("hello");//这样就解决了问题
}

不得不承认这是很低级的错误。。。。。继续努力了
tingsking18 2010-03-18
  • 打赏
  • 举报
回复
不知道你的gcc是什么版本?
tingsking18 2010-03-18
  • 打赏
  • 举报
回复
# define SLOT(a) "1"#a
这个是SLOT宏的定义。
#a代表字符串a
比方说SLOT(OnClicked())展开就是1OnClicked()
Qt内部通过1来确认他是一个slot,然后通过字符串OnClicked()建立的索引来调用槽函数的。
qter_wd007 2010-03-18
  • 打赏
  • 举报
回复
楼上所说有理,SLOT(Ui_HelloWorldClass.label.setText("hello"))

是不对的
MicroSky2813 2010-03-18
  • 打赏
  • 举报
回复


不好意思,被错误误导了

SLOT(Ui_HelloWorldClass.label.setText("hello"))
signal与slots机制里面signal和slot有不能有参数
SLOT(Ui_HelloWorldClass.label.setText("hello"))这个是不对的,你可以新写个有Ui_HelloWorldClass.label.setText("hello")功能的新slot
dodolzg 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 microsky2813 的回复:]
C/C++ code

QObject::connect(Ui_HelloWorldClass.pushButton, SIGNAL(clicked())/*这里你多了个")"*/,Ui_HelloWorldClass.label, SLOT(Ui_HelloWorldClass.label.setText("hello")));//本行报错

改成
QObject::connect(U……
[/Quote]

你再认真看下,应该不是少个‘(’的问题,我也照着你说的做了,报了更多的错,嗯
MicroSky2813 2010-03-18
  • 打赏
  • 举报
回复

QObject::connect(Ui_HelloWorldClass.pushButton, SIGNAL(clicked())/*这里你多了个")"*/,Ui_HelloWorldClass.label, SLOT(Ui_HelloWorldClass.label.setText("hello")));//本行报错

改成
QObject::connect(Ui_HelloWorldClass.pushButton, SIGNAL(clicked(),Ui_HelloWorldClass.label, SLOT(Ui_HelloWorldClass.label.setText("hello")));//


就是个括号的问题,啊…… 唉……

16,211

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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