8 道格拉斯范朋克

尚未进行身份认证

我要认证

中间件

等级
TA的排名 9k+

用户界面--User Interfaces

Qt具有创建用户界面的多种技术。虽然可以根据需要混合和匹配这些不同的技术,但是一种方法通常比其他方法更适合于某种类型的用户界面。 Qt Creator是结合了传统Qt小部件和Qt Quick的应用程序的一个很好的例子。小部件构成用户界面的基础,而Qt Quick则用于实现“欢迎”模式。以下各节简要介绍了用于创建用户界面的可用技术,并提供了一个比较表来帮助选择最合适的技术。常见的重要UI主题高DPI显示QML应用程序的重要UI主题QML中的视觉类型 在QML中响应用户输入 QML中的动画 在QM

2020-09-24 19:28:57

高DPI显示---High DPI Displays

与标准DPI显示器相比,高DPI显示器具有增加的像素密度。像素密度以每英寸点数(DPI)或每英寸像素数(PPI)度量,并由显示像素的数量及其大小确定。因此,仅像素数量不足以确定显示器是否属于高DPI类别。4K显示器具有固定数量的像素(〜8M),但是其DPI在185(23英寸)和110(40英寸)之间变化。前者大约是标准96 DPI桌面分辨率的两倍;后者几乎不超过该分辨率。高DPI带来的挑战高DPI显示给现有应用带来了一些挑战:使用具有固定坐标的UI设计的应用程序看起来很小 以点为单

2020-09-24 19:25:15

Qt资源系统(The Qt Resource System)

Qt资源系统是一种与平台无关的机制,用于在应用程序的可执行文件中存储二进制文件。如果您的应用程序始终需要一组特定的文件(图标,翻译文件等),并且您不想冒丢失文件的风险,这将很有用。资源系统基于qmake,rcc(Qt的资源编译器)和QFile之间的紧密合作。资源收集文件(.qrc)与应用程序关联的资源以.qrc文件指定,.qrc文件是一种基于XML的文件格式,该文件格式列出了磁盘上的文件,并且可以选择为它们分配一个资源名称,应用程序必须使用该资源名称来访问该资源。这是一个示例.qrc文件:&l.

2020-09-24 19:01:31

用户界面编译器 --- User Interface Compiler (uic)

本页记录了Qt Widgets模块的用户界面编译器。 uic读取Qt Designer生成的XML格式用户界面定义(.ui)文件,并创建相应的C ++头文件。用法:uic [选项] <uifile>选项下表列出了uic可以识别的命令行选项。选项 描述 -o <file> 将输出写入<file>而不是标准输出。 -tr <func> 使用<func>而不是tr()来翻译字符.

2020-09-24 17:44:24

对象树和所有权(Object Trees & Ownership )

总览QObject将自己组织在对象树中。当您创建一个以另一个对象作为父对象的QObject时,它将被添加到父对象的children()列表中,并在父对象被删除时被删除。事实证明,这种方法非常适合GUI对象的需求。例如,QShortcut(键盘快捷方式)是相关窗口的子级,因此,当用户关闭该窗口时,快捷方式也会被删除。QQuickItem是Qt Quick模块的基本视觉元素,它继承自QObject,但是其视觉父级的概念与QObject父级的不同。项的视觉父项不一定与它的对象父项相同。有关更多详细信息,请参见

2020-09-24 17:26:02

对象模型(Object Model )

标准的C ++对象模型为对象范例提供了非常有效的运行时支持。但是它的静态性质在某些问题领域是不灵活的。图形用户界面编程是一个既需要运行时效率又需要高度灵活性的领域。 Qt通过结合C ++的速度和Qt对象模型的灵活性来提供此功能。Qt将这些功能添加到C ++中:一种非常强大的无缝对象通信机制,称为信号和槽 可查询和可设计的对象属性 强大的事件和事件过滤器 上下文字符串翻译以实现国际化 先进的间隔驱动计时器,使许多任务可以优雅地集成到事件驱动的GUI中 分层且可查询的对象树,以自然方式组织对象所

2020-09-24 17:20:18

属性制度(The Property System)

Qt提供了一个复杂的属性系统,类似于某些编译器供应商提供的属性系统。 但是,作为与编译器和平台无关的库,Qt并不依赖非标准的编译器功能,例如__property或[property]。 Qt解决方案可在Qt支持的每个平台上与任何标准C ++编译器一起使用。 它基于元对象系统,该元对象系统还通过信号和插槽提供对象间通信。声明属性的要求若要声明属性,请在继承QObject的类中使用Q_PROPERTY()宏。Q_PROPERTY(type name (READ getFunct

2020-09-24 16:55:15

元对象系统(The Meta-Object System )

Qt的元对象系统提供了对象间通信,运行时类型信息和动态属性系统的信号和时隙机制。元对象系统基于三件事:QObject类为可以利用元对象系统的对象提供了基类。 类声明的私有部分内的Q_OBJECT宏用于启用元对象功能,例如动态属性,信号和槽。 元对象编译器(moc)为每个QObject子类提供实现元对象功能所需的代码。moc工具读取C ++源文件。如果它找到一个或多个包含Q_OBJECT宏的类声明,它将生成另一个C ++源文件,其中包含每个这些类的元对象代码。生成的源文件或者包含在类的源文件中,或

2020-09-24 10:37:01

Qt Core

核心功能使用模块用CMake构建用qmake构建线程和并发编程输入/输出,资源和容器其他框架QT Core核心功能Qt Core将以下功能添加到C ++:一种非常强大的无缝对象通信机制,称为信号和时隙 可查询和可设计的对象属性 层次化和可查询的对象树 使用受保护的指针(QPointer)以自然的方式拥有对象所有权 跨库边界的动态转化以下页面提供有关Qt核心功能的更多信息:元对象系统 属性系统 对象模型 对象树和所有权 信号和插槽...

2020-09-24 09:55:43

使用MOC ---Using the Meta-Object Compiler (moc)

使用元对象编译器(MOC)元对象编译器moc是处理Qt的C ++扩展的程序。moc工具读取C ++头文件。 如果找到一个或多个包含Q_OBJECT宏的类声明,它将生成一个C ++源文件,其中包含这些类的元对象代码。 除其他事项外,信号和槽机制,运行时类型信息和动态属性系统还需要元对象代码。必须编译由moc生成的C ++源文件,并与该类的实现链接。如果使用qmake创建makefile,则将包含在需要时调用moc的构建规则,因此您无需直接使用moc。 有关moc的更多背景信息,请参阅Qt为什么将Moc

2020-09-15 19:04:07

Qt为什么将Moc用于信号和插槽?5

模板是C ++中的内置机制,它允许编译器根据传递的参数类型即时生成代码。因此,模板对于框架创建者来说非常有趣,并且我们确实在Qt的许多地方都使用了高级模板。但是,存在一些局限性:有些事情可以用模板轻松表达,有些事情则无法用模板表达。即使对指针类型进行了部分专门化,通用向量容器类也很容易表达,而基于以字符串形式给出的XML描述来设置图形用户界面的函数则不能表达为模板。然后在中间有一个灰色区域。您可以用模板破解的东西,但要以代码大小,可读性,可移植性,可用性,可扩展性,健壮性和最终的设计美感为代价。模板和C预处

2020-09-15 18:34:37

Moc`ing XXX.h Unkown options:compiler-flavor,include

问题:Moc`ing XXX.h Unkown options:compiler-flavor,include解决方法:错误是moc编译报错,右键-属性-Qt Meta-Object Compiler,删除compile flavor和include选项中的内容即可。虽然这个问题很简单,但是一但碰到还是挺坑人的。最近这个各种qt版本。当高版本的qt使用低版本的qt编译时,vs插件可能报错,关键在于qt低版本可能有一些参数没有。moc常见参数Options: -?, -h, --help .

2020-09-15 17:29:34

/ RTC(运行时错误检查)

用于启用和禁用运行时错误检查功能,以及runtime_checks编译指示。句法复制/RTC1/RTCc/RTCs/RTCu争论1等效于/ RTCsu。c报告何时将值分配给较小的数据类型并导致数据丢失。例如,如果将type的值short 0x101分配给type的变量char。此选项报告您打算截断的情况,例如,如果您希望将a的前八位int作为a返回char。由于/ ...

2020-04-07 09:26:45

谓词 (Predicate)

函数对象(FunctionObject)对于一个实参,返回一个可转换为bool的值而不改动实参https://blog.csdn.net/caroline_wendy/article/details/15378055?ops_request_misc=%257B%2522request%255Fid%2522%253A%25221583757993197248118...

2020-03-09 21:05:03

面试C++基础知识

编译源文件从文本到可执行文件过程源文件,从文本到可执行文件一般需要四个过程:预处理阶段:对源代码文件中文件包含关系(头文件)、预编译语句(宏定义)进行分析和替换,生成预编译文件。编译阶段:将经过预处理后的预编译文件转换成特定汇编代码,生成汇编文件汇编阶段:将编译阶段生成的汇编文件转化成机器码,生成可重定位目标文件链接阶段:将多个目标文件及所需要的库连接成最终的可执行目标文件...

2020-03-04 10:56:49

K选取问题

K-选取(K-selection)题目描述:从一组无序数组中,找出第k大的元素。即任意一组可比较大小的序列,找到从小到大次序为k的元素。如果把这组元素排序为S,那么S[k]就是秩为k的元素。特例:最大值(n-1选取)、最小值(0-选取)、中位数查找(k = )中位数概念:有序序列S长度为n,S[]为中位数或者中值。众数(majority):在无序向量中,若有一半以上的元素的值相...

2020-02-28 11:39:37

实例----十进制数n转化为任意进制

题目描述:对于任意整数n,转化成x进制的表达形式算法分析:算法实现://十进制正整数n到base进制的转换static const char baseNum[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };void convert ( st...

2020-02-28 10:02:51

排序算法-快速排序

源代码git地址算法原理:轴点的概念:任意序列S[lo,hi],对应的有序向量为[lo,hi]。若把S分为前后两个子序列,S[lo,mid)/S[mid,hi)。如果mid为轴点,那么则满足:S[mid]=[mid] 前后子序列的成员完全相同例如:[1,2,4,5,77,88,99]和[4,2,1,5,88,99,77],那么5就是序列的轴点。前后序列完成排序后,整体即可排序。...

2020-02-27 16:28:44

StartServiceCtrlDispatcher函数

将服务进程的主线程连接到服务控制管理器,这使得线程成为调用进程的服务控制调度程序线程。语法BOOL WINAPI StartServiceCtrlDispatcher(_In_ const SERVICE_TABLE_ENTRY * lpServiceTable);参数lpServiceTable [in]指向SERVICE_TABLE_ENTRY结构数...

2020-02-21 23:01:02

排序算法-归并排序

源代码git地址算法原理:建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。不变形:。适应范围:实际应用:算法实现:template <typename T> //valid(p)&&...

2020-02-21 22:51:56

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。