- 博客(123)
- 资源 (19)
- 收藏
- 关注

翻译 QML官方系列教程——QML Applications
QML ApplicationsQML是一种声明式语言,它提供了一组接口用来描述视觉组件以及他们的互动和相关性。它是一个高度可读的语言,并且被设计成使组件以一个动态的方式相互连接。同时它使组件很容易被复用以及创建定制的用户界面。使用QtQuick模块,设计者和开发者可以很容易使用QML建立流体动画的用户界面,并将这些界面连接到后端的C++库上面。What is QML?QML是
2014-06-04 15:46:55
64969
20
原创 使用style修改ActionBar的标题和Menu字体颜色及大小
逻辑上来说就是继承系统自带主题后,对其中想要自定义的部分覆盖重写;比如下面的代码就是在 Theme.AppCompat.Light.DarkActionBar 这个主题的基础上扩展。你的项目中可能用的不是这个,但逻辑是一样的。然后注意一点是如果继承的是AppCompat,很多字段应该用<item name="actionBarStyle">这种形式,否则则是<item name=...
2018-05-30 13:55:22
4333
原创 9针串口RS232、RS485之间的差异
USB转串口一般分为USB转RS232和USB转RS485,虽然两者都有一个外形一致的Usb口转9针公头(最常见),但引脚是不一样的,不能弄混。对于RS232而言,其引脚基本都是一样的:而RS485就没有什么约束了,各厂家基本任意发挥。比如上图中A,B脚分别是4和3,下图则是1和2:所以各厂家在售卖带9针485接口的设备时,一般会带上一个转接口,类似这个:而这个转接口就最好不要混着用,因为它们所对...
2018-04-23 17:18:40
21190
原创 在AndroidStudio中查看Log,屏蔽某个Tag或某几个Tag
有时候调试代码,有些模块的打印太多,我们可以把它们屏蔽掉:在下图位置勾选“Regex”,然后在框中输入我们需要屏蔽Tag的正则式
2017-12-27 15:00:21
6003
2
转载 Android TV 焦点与按键事件分析
转自:http://blog.youkuaiyun.com/yummykwok/article/details/56667260在触摸屏出现在手机上之前,焦点是手机上人机交互中最重要的一个概念。焦点即用户当前的关注点(或区域),手机上将该区域以某种形式高亮显示,人们通过上、下、左、右方向键可以移动焦点,按确认键后手机将打开(或呈显)与当前焦点关联的内容;触摸屏的出现大大地简化了人机交互,触摸事件(TouchE
2017-12-12 17:22:37
2534
原创 使用泛型方法在Java中安全地进行强制类型转换
在Android里面,如果要用一套代码对应多套布局,有时需要做一些类型转换,每次try,catch代码不美观,于是弄了一个Utils类来处理:public static T safeTypeConvert(Object obj, Class clazz) { if (obj == null) { return null; }
2017-09-22 18:15:57
13083
原创 Win10/Win8使用ADB连接不上Android设备,设备管理器出现黄色叹号解决方案
由于64位的win8.1 WIN10 考虑了系统安全的问题,对于未有认证签名的驱动程序进行了限制安装,但是大多数使用了驱动文件的小程序不可能有数字签名认证的,比如ADB调试的驱动之类的,这个时候我们可能需要关闭驱动签名,来正常的安装驱动程序Windows 8操作系统点选左边设置选项卡中的 常规 菜单,再点击右边的 高级启动-立即重启,即会重启电脑。Windows 8.1操作系统更新和恢复→恢复→高
2017-08-20 22:36:50
15691
2
转载 【Android界面实现】关于Android中9patch图的一点小解释
转自:http://blog.youkuaiyun.com/zhaokaiqiang1992 关于为什么使用.9图,我就不长篇大论了,就是为了减少图片资源体积,我们这篇文章重点解决.9图的制作的一些小问题。 .9的制作,实际上就是在原图片上添加1px的边界,然后按照我们的需求,把对应的位置设置成黑色线,系统就会根据我们的实际需求进行拉伸。 下图是对.9图的四边的含义的解释,左上边代表拉伸区域
2017-07-17 11:10:43
633
原创 Android View 动态加载不同xml布局文件
以下代码可做参考, 主要是需要先removeAllViews(),在这里卡了会。public class BottomBar extends LinearLayout { private Context mContext; public final static int ITEM_LAYOUT_COLLECT = 0; public final static int ITEM_
2017-07-07 19:00:55
4582
1
原创 Android5.x+ 格式化外部存储(u盘, sdcard)的方法
首先保证你的应用能够获取system权限:android:sharedUserId="android.uid.system";然后申请权限:调用以下代码完成格式化:public void diskFormat() { ComponentName formatter = new ComponentName("android", "com.android.internal.os.storag
2017-06-21 10:58:07
7596
2
原创 fastboot flash system system.img 卡在sending system.img 解决办法
在用Windows系统的台式电脑给Android机顶盒刷机时,fastboot flash boot boot.img可以刷入;fastboot flash system system.img 却一直卡在sending system.img,解决办法:将刷机线从机箱前方的USB口移到后面
2017-06-05 12:20:05
6243
4
转载 AlertDialog,Toast对Activity生命周期的影响
转自:http://blog.youkuaiyun.com/scorpioneal/article/details/19049475经常可以在网上看到一些文章介绍Activity生命周期, 说只要一个Activity被覆盖,不是完全可见, 那么它就处于onPause状态或者不可见, 则处于onStop状态, 之前自己也是一直这样以为, 知道后来碰到一些情况(toast的弹出, AlertDialog的弹出等)
2017-02-20 12:25:36
14700
1
转载 在Service中弹出Toast和Dialog
众所周知,Toast必须在UI主线程上才能正常显示,而在Service中是无法获得Acivity的Context的,在service中想显示出Toast只需将show的消息发送给主线程Looper就可以了Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() {
2017-01-11 15:33:00
2695
原创 Android适配——drawable和values的加载规则
Google搞了一大套 dip、sp、mdpi、hdpi、xhdpi之类的这些东西,简单说来,就是为了让我们轻松实现“与设备密度无关的视觉大小一致性”,这里需要明确的“视觉大小一致性”,就是说无论是在手机、低分辨率平板、高分辨率平板上,这个控件或者图片在物理尺寸上都是一样的。
2016-08-25 13:44:32
22208
2
转载 jd-gui在Ubuntu上打不开
你在 ubuntu13.10上 安装了最新版本的 jd-gui 但是它跑不起来怎么办?请执行如下指令:sudo apt-get install libgtk2.0-0:i386 libxxf86vm1:i386 libsm6:i386 lib32stdc++6安装细节:安装过程中的错误:$ ./jd-gui ./jd-gui: error while loading shared librari
2016-07-13 13:38:05
3223
转载 Android如何调用第三方SO库
转自:http://zwz94.blog.163.com/blog/static/3206039520131111101412959/问题描述:Android如何调用第三方SO库;已知条件:SO库为Android版本连接库(*.so文件),并提供了详细的接口说明;已了解解决方案:1.将SO文件直接放到libs/armeabi下,然后代码中System.loadLibrary("xxx");再pub
2016-07-08 10:38:29
5227
原创 使用Java代码在应用层获取Android系统属性
之前使用Native代码的property_get()/property_set()来获取Android系统属性,现在需要改写到Java上面,但是Java里面的getProperty()/setProperty()所操作的属性与上面的是不同的。好在Google提供了一个隐藏类android.os.SystemProperties用来管理属性,其内部实际上也是通过JNI调用Native的proper
2016-05-11 18:35:45
3751
原创 解决gdb 调试 core 文件函数名显示为问号的问题
问题描述:已经在编译选项中加入了-g,但是查看core文件时,还是一堆问号,使用的命令为:gdb -c core
2016-03-09 10:28:46
17056
原创 一个Linux下的adb 安卓截屏脚本
记录一下。直接运行./screenshot.sh进行截屏,截屏失败提示红色,成功提示绿色:-c 使用冒号格式,-h 使用短横线格式
2016-03-03 17:05:56
2824
原创 再谈QVector与QByteArray——Qt的写时复制(copy on write)技术
我们在之前的博文QVector的内存分配策略 与再谈QVector与std::vector——使用装饰者让std::vector支持连续赋值简单聊了聊QVector内存分配和赋值方面的一点东西,今天接着从QVector展开谈谈Qt的写时复制技术...
2016-01-28 23:00:01
11666
1
原创 从一个fork()实例理解全缓冲与行缓冲
之前一直对无缓冲、行缓冲、全缓冲不太感冒,然后最近在《UNIX环境高级编程》上看到这样一个例子,感觉挺好的拿来给没看过的小伙伴看看
2015-11-14 23:19:31
2978
原创 从零开始实现信号槽机制:二
到这里应该差不多了,总结一下。我们在上篇博文中实现的sigslot机制已经能够比较好地实现两个组件之间的解耦,但是缺点是设计库时需要针对不同参数数量的信号与链接需要重复编码,槽函数必须继承一个共同的基类等。而Qt的信号槽机制建立在其庞大的元对象体系之上,由于其信号与槽函数的参数类型可以随时随地查到,因此在传参时可以仅仅传递一个void*类型的指针,然后通过虚函数机制调用为被调类写好的qt_matecall(),就很容易对参数反向解析从而调用相应的槽函数了。基本上是以一定的性能损失换来了更高的灵活性,也算是各
2015-09-04 21:19:23
13467
4
原创 从零开始实现信号槽机制:一
我们从一个具体的问题入手:“现在有一堆按钮,用来控制一堆电器,它们之间可能是一对多,也可能是多对一,如何设计这个结构?”这里有个形象的图:为了实现组件间的控制,我们很容易想到“回调函数”,对于C++开发者,我们肯定不希望一个类自身的处理函数存在于类外,但是类成员函数中被自动添加的隐形this形参造成了函数指针调用的不匹配,于是我们想到了使用static成员函数:
2015-09-04 13:49:30
7609
2
原创 再谈QVector与std::vector——使用装饰者让std::vector支持连续赋值
使用Qt的容器时总是让人省心,不仅是它同时提供了C++ Style和Java Style的操作接口,并且还支持下面这样的连续赋值方式:而std::vector时显然就没有这么贴心了,对于不同且没规律的赋值,循环都不好用,只好一个个地push_back();不过好在,我们可以用装饰类为std::vector添加这个功能
2015-09-01 14:31:17
8857
原创 可能是最难围住的神经猫——寻找必胜路径的算法实现
标题借鉴了一下老罗的风格,哈哈(*^__^*) 原来围住神经猫游戏刚火的时候,恰巧当时正在学QML,顺手就给弄了一个,不知道大家还记不记得这个游戏,界面是酱紫的:然后在 Qt 贴吧里面也共享了一下:http://tieba.baidu.com/p/3241650033因为当时做这个的时候主要是想练下 QML,所以草草弄了个随机方向选择算法(应该没资格叫算法吧...),然后这只小猫就蠢得不要不要的...
2015-08-31 01:20:55
13959
13
原创 QVector的内存分配策略
我们都知道 std::vector 作为动态数组在所分配的内存被填满时,如果继续添加数据,std::vector 会另外申请一个大小当前容量两倍的区域(如果 n > size 则申请 n+当前容量 的空间),然后把当前内容拷贝到新的内存,以达到动态扩容的效果: size_type _M_check_len(size_type __n, const char* __s) const
2015-08-12 21:25:54
13899
转载 原码, 反码, 补码 详解
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助! 一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.1、机器数一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号
2015-06-24 11:58:04
1137
原创 Qt5官方demo解析集37——Vector Deformation
在 Qt 中设计GUI界面,经常需要考虑不同尺寸,不同分辨率下面的情况,因此我们经常需要准备几套图片素材来应付不同的场景。不过好在,我们还可以使用矢量绘图和矢量图形。
2015-06-18 16:31:28
4919
转载 八大排序算法
排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短
2015-06-04 18:45:14
1417
转载 二分查找(Binary Search)需要注意的问题,以及在数据库内核中的实现
问题背景 今年的实习生招聘考试,我出了一道二分查找(Binary Search)的题目。题目大意如下: 给定一个升序排列的自然数数组,数组中包含重复数字,例如:[1,2,2,3,4,4,4,5,6,7,7]。问题:给定任意自然数,对数组进行二分查找,返回数组正确的位置,给出函数实现。注:连续相同的数字,返回第一个匹配位置还是最后一个匹配位置,由函数传入参数决定。 我为什么会出这道题目? 二分查找在
2015-05-24 15:09:32
1685
原创 当优快云携手Markdown
也不知道是不是基于 Github 崛起的因素,Markdown 也是迅速流行起来,导致大家现在看到类 Word 的编辑器就忍不住想要吐槽。。。最近听说 优快云 博客终于支持 Markdown编辑了,着实了了广大博友一块心病。
2015-03-12 19:04:28
1888
原创 Qt5官方demo解析集36——Wiggly Example
本系列所有文章可以在这里查看http://blog.youkuaiyun.com/cloud_castle/article/category/2123873接上文Qt5官方demo解析集35——Music Player
2015-03-02 19:52:08
16690
8
原创 Qt5官方demo解析集35——Music Player
本系列所有文章可以在这里查看http://blog.youkuaiyun.com/cloud_castle/article/category/2123873接上文Qt5官方demo解析集34——Concentric Circles Example
2015-02-15 13:49:27
8119
原创 Qt5官方demo解析集34——Concentric Circles Example
本系列所有文章可以在这里查看http://blog.youkuaiyun.com/cloud_castle/article/category/2123873接上文Qt5官方demo解析集33——Qt Quick Examples - Window and Screen
2015-02-09 13:41:10
6062
5
原创 设计模式初探4——抽象工厂(Abstract Factory)
抽象工厂:为一个产品家族提供了统一的创建接口。当需要这个产品家族的某一系列的时候,可以从抽象工厂中选出相对系的系列来创建一个具体的工厂类别。
2014-11-06 13:48:03
1658
原创 设计模式初探3——装饰者模式(Decorator Pattern)
装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
2014-11-03 17:22:55
1605
原创 设计模式初探2——观察者模式(Observer Pattern)
观察者模式:定义算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户
2014-11-03 10:08:07
1481
原创 设计模式初探1——策略模式(Strategy Pattern)
策略模式:定义算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
2014-10-31 15:20:19
1688
转载 抽象类与接口 虚函数、纯虚函数与非虚函数
抽象类 & 接口一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。二、接口: 接口是引用类型的,类似于类,和抽象
2014-10-30 21:54:15
1717
转载 使用Qt编写模块化插件式应用程序
动态链接库技术使软件工程师们兽血沸腾,它使得应用系统(程序)可以以二进制模块的形式灵活地组建起来。比起源码级别的模块化,二进制级别的模块划分使得各模块更加独立,各模块可以分别编译和链接,模块的升级不会引起其它模块和主程序的重新编译,这点对于大系统的构建来说更加实用。另一方面,对于商业目的明显的企业,各模块可以独立设置访问权限,开发成员只能访问自己负责的模块,其它模块是不能也不给看到的,这样减少了整
2014-10-22 09:26:42
1999
mupdf-qt已编译库文件
2015-05-22
Qt学习之路2——79章节版
2014-08-13
QML学习教程——qt5_cadaques
2014-08-13
Gimp导出为QML插件
2014-08-13
PhotoShop导出为QML插件
2014-08-13
Qt5开发及实例 完整高清版(ppt+源码)不是原书籍
2014-08-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人