- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 Qt编程:使用动态创建技术实现Designer自定义控件插件脚本化管理
每次使用Qt进行编写好自定义控件后,还需要编写Desginer设计器使用的插件。才能够提供给Designer设计器使用,过程比较繁琐,工作量也比较大,不够灵活。本文介绍怎样使用之前技术博文提及到的动态创建技术实现脚本化管理Designer自定义控件插件。首先介绍下管理脚本文件结构libs节点:自定义控件库集合;directory属性:表示自定义控件库的存储路径;lib节点:描述一个自定义控件库;name节点:自定义控件库名称;method节点:控件创建方法入口;controls节点:控件集合
2020-09-24 12:46:31 381
原创 Qt编程:动态创建对象技术之导航页实现
使用动态创建对象技术,可以很方便的构建一个导航页框架,通过脚本属性配置即可完成页面对象创建和加载功能。本文通过上文的动态创建对象技术实现了一个简单的导航页框架。框架结构示意如下:linkType属性指示导航页面属性,link属性指示显示页面导航功能类声明如下:class SmartToolbarPrivate;class QToolButton;class SmartToolbar:public QFrame{ Q_DECLARE_PRIVATE(SmartToolbar)
2020-09-23 09:25:18 378
原创 Qt编程:通过反射机制实现类名信息动态创建对象技术
根据类名信息动态创建对象技术,不仅可以降低代码的耦合度和复杂性,还可以实现脚本化编程技术,动态解析创建对象,提高内存利用率和应用程序灵活性。反射机制框架如下:Reflect类声明如下:typedef QWidget* (*Constructor)(QWidget* parent);class Reflect{public: Reflect(); //通过类名,查找到注册的构造函数,并创建对象 static QWidget *reflect(QWidget* parent
2020-09-22 16:37:09 802 1
原创 PIXCLOCK计算问题
LCD关于PIXCLOCK的计算公式计算出来单位为(s)需要转换为皮秒(ps)为单位所以实际计算公式为:pixclock=(1/dotclock)*10^12
2021-04-27 16:28:03 1421
原创 imx6系列系統移植筆記--imx6q內核版本4.1.15更新rt后,解決編譯失敗的問題
開發環境:ubuntu 14.04 交叉編譯器版本:arm-poky-linux-gnueabi-gcc 5.3.0 kernel源碼版本:4.1.15 rt補丁版本:patch-4.1.15-rt16.patch更新完rt補丁后,編譯報錯定位到drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c中提示rt_spin_loc...
2018-09-14 13:37:44 1257 3
原创 imx6系列系統移植筆記--imx6q SD啟動卡製作
開發平台:Ubuntu14.04 SD啟動卡命令步驟如下: 1. ls -l |grep sd 查看sd卡盤符 2.umount卸載sd卡 4. sudo dd if=/dev/zero of=/dev/sdc bs=1M count=10 清空前10M數據 5. sudo dd if=/home/james/imx6q-bin/u-boot-sd-2016.03-r0.imx of=/...
2018-09-13 19:20:08 625
原创 am335x系统移植笔记--由800M提升到1G主频的配置方法
uboot版本:2013.01.01 linux kernel版本:linux3.12.10 gcc编译器版本:arm-linux-gnueabihf4.7 uboot修改如下文件: board/ti/am335x/pmic.h添加定义 #define PMIC_OP_REG_SEL_1_3_5 (0x3F) //1.35v board/ti/am335x/boar...
2018-08-28 15:17:39 1899
原创 am335x系统移植笔记--移植中遇到的问题总结
uboot版本:2013.01 kernel版本:4.9.65-rt23 1. uboot修改可以 load dtb文件的方式,串口打印停在Start kernel,导致kernel hang。 解决办法:fdtaddr 地址修改为0x88000000可以正常工作 2. 进入kernel串口没有输出信息,原因可能是kernel中串口没有配置为对应的调试串口,此时可以修改uboot中的启动参...
2018-08-15 14:12:30 1025
原创 am335x系統移植筆記——config文件配置
make mrproper清理工程 make ARCH=arm menuconfig 進入圖形配置界面 Load可以選擇config加載文件 Save可以選擇保存的config文件 / 搜索關鍵字 make CROSS_COMPILE=xxx ARCH=arm O=目標文件保存目錄 xxx_confg 生成.config文件 make CROSS_COMPILE=xxx ARCH=a...
2018-08-02 15:28:42 591
原创 am335x系统移植笔记——LCD相关Device Tree 配置
LCD 引脚配置: lcd_pins_default: lcd_pins_default { pinctrl-single,pins = < AM33XX_IOPAD(0x820, PIN_OUTPUT | MUX_MODE1) /* gpmc_ad8.lcd_data23 */ AM33XX_IOPAD(0x824, ...
2018-08-02 10:16:20 1616
原创 QML编程:实现一个数字软件盘的功能(二)
通过上一节,我们已经实现了一个软键盘的功能,本节主要介绍如何实现输入数值后 edit focus焦点的向后移动,提高用户体验度。 要想移动焦点首先需要获取当前页面的当前控件,然后遍历向后查询。 function itemIndex(item) { //获取当前控件索引 if (item.parent === null) ...
2018-06-11 10:27:30 635 1
原创 QML编程:实现一个数字软件盘的功能(一)
本文描述如何通过QML编程实现一个满足自己需求的数字软件盘的功能, 功能需求: 1.可以查看临时数值设置, 2.可以通过滑动slider实现快速设置 3.原值记录功能 首先根据功能需求设计小键盘的风格,可分为临时数值显示区和输入区 画面脚本源码如下:import QtQuick 2.4import QtQuick.Controls 2.3import QtQ...
2018-05-24 21:46:39 1394 1
原创 QML编程:C++交互实现资料定时刷新的思路
通过C++进行后端开发,完成即时通讯,实现即时资料的定时刷新和前端进行交互开发,是开发过程中必须要考虑和解决的问题。一种方式是,利用QML为我们提供了Timer控件,实现高度定制的控件,定时对资料库进行查询,来实现定时刷新资料的需求,但是这种处理方式,效率是一个很大的问题,导致每个元件都需要绑定一个定时器,在大批量的资源更新时,CPU占比很高,不是很可取。第二种处理方式,是在每个页面去提供Time...
2018-05-21 16:31:37 2164 1
原创 QML编程:页面导航效果的实现
QML作为一种脚本化语言,可以很方便的实现各种图形特效,同时又能友好的和Qt中的C++代码进行交互。随之QML的日趋成熟,使用QML进行项目开发,成为一种选择 本文介绍两种方式实现支持Button直接跳转切换和页面滑动切换效果使用SwipeView控件实现,重写contentItem属性:import QtQuick 2.7import QtQuick.Controls...
2018-05-18 16:54:54 4686 1
原创 am335x 移植SD卡启动 (SD卡分区+Samba移植+Qt)(上)
PC环境: ubuntu14.02SD卡:16G第一步对SD卡进行磁盘分区(boot区:用于存储MLO和U-boot; system区:存放rootfs,可以创建其他存储分区)查看SD卡位置:$ ls -l /dev|grep sd卸载umount(我的是sdb)$umount /dev/sdb1$umount /dev/sdb2$sudo fdisk /d
2017-06-15 17:02:50 1690
Designer自定义控件插件脚本化加载
2020-09-24
SmartToolbar
2020-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人