社区
Qt
帖子详情
public signals: 编译错误
yb0824
2009-11-06 09:35:26
如题
...全文
237
6
打赏
收藏
public signals: 编译错误
如题
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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 信号槽介绍
详细介绍Qt 信号槽,如何定义信号槽以及对比Qt4 和Qt5 信号槽的区别
C++解析头文件-Qt自动生成信号声明
C++解析头文件,并在指定位置插入函数声明,博客讲解:https://www.cnblogs.com/swarmbees/ ->C++解析头文件-Qt自动生成信号声明
信号,在JavaScript中,快速_TypeScript_JavaScript_下载.zip
信号,在JavaScript中,快速_TypeScript_JavaScript_下载.zip
Signals
和Slot的使用
从百度空间看到的文章,我关注的地方是: 1、
signals
前面不可加
public
、private和protected进行修饰;slots前面可以加,因为Qt说槽函数可以当普通函数使用。 2、
signals
区域的函数必须是void类型,而且这些信号函数没有函数体,也就是说不可以自己定义这些信号函数,你只要声明它就够了,其它不用管,Qt内部自己弄。 3、宏定义和函数指针不能用于信号和槽的参数,信号和槽...
信号(
signals
)和槽(slots)
信号(
signals
)和槽(slots)信号和信号槽被用于对象(object)之间的通信。信号和槽机制是QT的重要特征并且也许是QT与其他框架最不相同的部分。前言在GUI程序设计中,通常我们希望当对一个窗口部件(widget)进行改变时能告知另一个对此改变感兴趣的窗口部件。更一般的,我们希望任何一类的对象(object)都能和其他对象进行通信。例如,如果用户单击一个关闭按钮,我们可能就
Qt
21,438
社区成员
26,687
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章