社区
Qt
帖子详情
public signals: 编译错误
yb0824
2009-11-06 09:35:26
如题
...全文
195
6
打赏
收藏
public signals: 编译错误
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ProgrammerNO1
2009-11-06
打赏
举报
回复
顶3楼~~
yb0824
2009-11-06
打赏
举报
回复
谢谢 winux.
我想写成 public signals:是因为我想这样触发信号 emit a.mySignal();
我现在想这样写行吗,
public:
void emitSignal() { emit mySignal(); }
这感觉就可以直接调用mySignal了。
liangjing91
2009-11-06
打赏
举报
回复
up
winux
2009-11-06
打赏
举报
回复
如果你还问为什么signal不能用public修饰,而slots就可以,因为slots在预编译后就变的没有了,不会出现重复。
这么设计的原因,Qt允许你想调用普通函数一样调用slot,所以slot必须要能够想普通函数一样规定访问级别(public, protected, private);而signal是不能被直接调用的,你必须通过消息槽连接。因此Qt强制把它定义成protected,这样你直接调用就会出编译错误。
winux
2009-11-06
打赏
举报
回复
再解释的详细点,
signal:
int mySignal(int arg);
预编译后就会变成
protected:
int mySignal(int arg);
如果定义的时候写成
public siagnal:
int mySignal
预编译后就变成
public protected:
int mySignal
显然是不能编译的
winux
2009-11-06
打赏
举报
回复
signal定义只要写成这样
signal:
int mySignal(int arg);
就行了,不要加public
Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好
窗口”,在其属性窗口中将其objectName 改为enterBtn,在下面的
Signals
and slots editor 中进行信号和槽的关联,其中,Sender 设为enterBtn,Signal 设为clicked(),Receive 设为myDlg,Slot 设为accept()。这样就...
Signals
和Slot的使用
1、
signals
前面不可加
public
、private和protected进行修饰;slots前面可以加,因为Qt说槽函数可以当普通函数使用。 2、
signals
区域的函数必须是void类型,而且这些信号函数没有函数体,也就是说不可以自己定义这些...
qt
编译
错误
error LNK2005 moc_xxx.obj
signals
: void sig_process(); virtual void process(void; void loadparam(Param &para); bool loadparam(const char* path); ... }
编译
报错 error LNK2005: "publi...
Qt
编译
出错:undefined reference to `vtable for XXX‘
/自定义信号函数
signals
://Q_OBJECT 是一个宏,添加它才能正常使用Qt的信号和槽机制Q_OBJECT//自定义信号函数
signals
:
public
://发射信号的函数//自定义槽函数qDebug()执行recSlot()成员函数,输出";
public
:删除项目...
QT
编译
找不到
signals
函数
class VideoThread :
public
QThread {
signals
: void signalImage(QImage image);
编译
的时候,却提示:error: undefined reference to VideoThread::signalImage 原来所有包含
signals
和slots的类必须包含Q_...
Qt
16,215
社区成员
26,594
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章