热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

学习qte5,02

用dmdQtE5Qt-5运行时三样来写界面.用QtE5时,最好了解Qt的工作原理,目标是制作足够日常任务子集,简化到极致.方法和类名与QT差不多.对新手,简单,易于组装,速度及巨大

dmd+QtE5+Qt-5运行时三样来写界面.用QtE5时,最好了解Qt的工作原理,目标是制作足够日常任务子集,简化到极致.方法和类名QT差不多.对新手,简单,易于组装,速度及巨大可能性.

// dmd ex2 qte5//示例
import qte5;
import core.runtime;int main(string[]args){// 加载库if(1==LoadQt(dll.QtE5Widgets,true))return1;// 创建应用QApplicationapp=new QApplication(&Runtime.cArgs.argc,Runtime.cArgs.argv,1);// 创建标签框QLabel lb =new QLabel(null);// 插入文本,支持`超文本`.lb.setText("

哈哈

").show();app.exec();return 0;
}//编译命令:dmd ex2 qte5

注意,简单的编译命令,极致编译速度,非常详细的Qt文档.
无需安装完整版Qt5.安装RunTime版就够了.仅*.dll/so.
QtE5.QAction()--替换C++元编译器
QAction自身具有很多属性.在(qte5widgets.h)中继承它并定义了一组现成插槽(slot).并引入被调函数地址,即在此位置激活插槽时,调用函数,的属性.每个QAction存储一组槽和处理器的地址.
slot只是进一步调用地址存储在QAction中的extern (C)connect(),
Qt===>Slot{QAction.QtE5}===>extern(C)OurFunction()===>类方法
必须记住实例地址,用构造来保存实例地址.
不仅仅传方法,还要传实例地址.

QWidget win=QWidget(...);
win.savethis(&win);
//对象可存储`自身`引用.

利用该信息:

QAction acHelp = new QAction(&handler,aThis());
//1为处理器,2为实例地址.

处理器包含以下结构:

extern (C) void acFun1(cast(classname*)uk,...){(*uk).MethodName(...);
}

只是临时函数,因为无元编译器.缺点是预定义时隙集合有限的.不能提前确定所有参数选项.
QtE5中另外定义了参数数的有趣插槽.

QAction actNtest = new QAction(HandlerAdd,InstanceAdd,n);

现在绑定信号到"slotN()“而非”slot()".允许同一处理器按参数传递内容,调用不同QAction.要处理许多相同按钮时,非常有用.
插槽名是预定义的,可在参数中使用连接(),通过参数按串连接,插槽类型:

串表示意思
"Slot()"简单插槽.
"SlotN()"插槽有个附加参数.
"Slot_Bool(bool)"槽从bool信号中抛参数
"Slot_Int(int)".

注意,extern(C)是必须的.但Qt信号可以有事件参数,怎么办?有个QEvent实例参数(指针).可在此查看预定义插槽名.
connect()参数中,写上"Slot_int(int)",则激活插槽.从信号中取,并按该参调用函数.
像指挥棒一样,传递信号中参数给处理器.
可在不用C++,就定义具不同参数集的插槽.一组十个不同选项几乎涵盖了所有信号.


推荐阅读
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 本文详细介绍了Java反射机制的基本概念、获取Class对象的方法、反射的主要功能及其在实际开发中的应用。通过具体示例,帮助读者更好地理解和使用Java反射。 ... [详细]
  • 实验九:使用SharedPreferences存储简单数据
    本实验旨在帮助学生理解和掌握使用SharedPreferences存储和读取简单数据的方法,包括程序参数和用户选项。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • Java中不同类型的常量池(字符串常量池、Class常量池和运行时常量池)的对比与关联分析
    在研究Java虚拟机的过程中,笔者发现存在多种类型的常量池,包括字符串常量池、Class常量池和运行时常量池。通过查阅CSDN、博客园等相关资料,对这些常量池的特性、用途及其相互关系进行了详细探讨。本文将深入分析这三种常量池的差异与联系,帮助读者更好地理解Java虚拟机的内部机制。 ... [详细]
  • Netty框架中运用Protobuf实现高效通信协议
    在Netty框架中,通过引入Protobuf来实现高效的通信协议。为了使用Protobuf,需要先准备好环境,包括下载并安装Protobuf的代码生成器`protoc`以及相应的源码包。具体资源可从官方下载页面获取,确保版本兼容性以充分发挥其性能优势。此外,配置好开发环境后,可以通过定义`.proto`文件来自动生成Java类,从而简化数据序列化和反序列化的操作,提高通信效率。 ... [详细]
  • 本文将带你快速了解 SpringMVC 框架的基本使用方法,通过实现一个简单的 Controller 并在浏览器中访问,展示 SpringMVC 的强大与简便。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • WinMain 函数详解及示例
    本文详细介绍了 WinMain 函数的参数及其用途,并提供了一个具体的示例代码来解析 WinMain 函数的实现。 ... [详细]
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • 掌握Android UI设计:利用ZoomControls实现图片缩放功能
    本文介绍了如何在Android应用中通过使用ZoomControls组件来实现图片的缩放功能。ZoomControls提供了一种简单且直观的方式,让用户可以通过点击放大和缩小按钮来调整图片的显示大小。文章详细讲解了ZoomControls的基本用法、布局设置以及与ImageView的结合使用方法,适合初学者快速掌握Android UI设计中的这一重要功能。 ... [详细]
  • 技术分享:深入解析GestureDetector手势识别机制
    技术分享:深入解析GestureDetector手势识别机制 ... [详细]
author-avatar
kenvilen_106
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有