自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Seanyxie Blog

[email protected] 我奔向太阳,在日落的终点必能找到你 www.seanyxie.com

  • 博客(240)
  • 资源 (4)
  • 收藏
  • 关注

原创 QListWidget用法

<br />setSelectionMode()设置list一次最多可以选择多少item<br />有两种方法来listwidget中添加Item,一种是在item构造时候,指定父widget,<br />如果item构造时候QListWidget已经存在,可以用下面的方法<br />new QListWidgetItem(tr("Oak"), listWidget);<br /><br />第二种方法是构造完item,在使用QListWidget::addItem()来添加item<br /> <br /

2010-08-21 16:53:00 26437 5

转载 QT model-view架构

我们的系统有很多数据显示的需求,比如从数据库中把数据取出,然后以自己的方式显示在我们自己的应用程序的界面中。进行这一操作的典型方式是使用Qt的Item View类。 在早期的Qt版本中,要实现这个功能,我们需要定义一个widget,然后在这个widget中保存一个数据对象,比如是个list,然后我们对这个list进行查找、插入等的操作,或者把修改的地方写回这个list,然后刷新widget进行显示。这个思路很简单,也很清晰,但是对于大型程序,这种设计就显得苍白无力。比如,在一个大型系统中,你的数据可能很大,

2010-08-21 01:40:00 2082

转载 QT 容器类之关联存储容器

今天我们来说说Qt容器类中的关联存储容器。所谓关联存储容器,就是容器中存储的一般是二元组,而不是单个的对象。二元组一般表述为,也就是“键-值对”。 首先,我们看看数组的概念。数组可以看成是一种形式的键-值对,它的Key只能是int,而值的类型是Object,也就是任意类型(注意,这里我们只是说数组可以是任意类型,这个Object并不必须是一个对象)。现在我们扩展数组的概念,把Key也做成任意类型的,而不仅仅是int,这样就是一个关联容器了。如果学过数据结构,典型的关联容器就是散列(Hash Map,哈希表)

2010-08-20 23:55:00 3074

转载 QT容器之遍历器和隐式数据共享

前面说过,Qt容器类提供了两种遍历器:Java风格的和STL风格的。前者比较容易使用,后者则可以用在一些通过算法中,功能比较强大。 对于每一个容器类,都有与之相对应的遍历器:只读遍历器和读写遍历器。只读遍历器有QVectorIterator,QLinkedListIterator和QListIterator三种;读写遍历器同样也有三种,只不过名字中具有一个Mutable,即QMutableVectorIterator,QMutableLinkedListIterator和QMutableListIterat

2010-08-20 22:36:00 2444

转载 QT容器类之顺序存储容器

容器Containers,有时候也被称为集合collections,指的是能够在内存中存储其他特定类型的对象的对象,这种对象一般是通用的模板类。C++提供了一套完整的解决方案,成为标准模板库Standard Template Library,也就是我们常说的STL。 Qt提供了它自己的一套容器类,这就是说,在Qt的应用程序中,我们可以使用标准C++的STL,也可以使用Qt的容器类。Qt容器类的好处在于,它提供了平台无关的行为,以及隐式数据共享技术。所谓平台无关,即Qt容器类不因编译器的不同而具有不同的实现;

2010-08-20 16:03:00 2398

转载 QT的父子Widget之间消息的传递

 以前我一直以为:在父widget上摆一个子widget后,当click子widget时:只会进入到子widget的相关事件处理函数中,比如进入到mousePressEvent()中, 而不会进入到父widget的对应事件处理函数中。毕竟:click的是子widget,其遮挡住了父widget,从而父widget接收不到这个事件。然而事实真的是这个样子吗?     我做了一个测试: 在一个QWidget上建了一个QLabel。而后实现父QWidget的mousePressEvent(), 然后跟一下发现:当

2010-08-20 00:20:00 2086

转载 面试题(循环链表)

题目为:对于普通的单向链表,如果实现确定其内部有一个环,如何确定何处出现环路的?单向链表每个节点中只有data和next两个字段。      (单向链表含环路,不要总是想到“0”型环路,还要想到“6”字型环路)      原本听到这道题时,我首先想到的笨办法就是:建一个足够大的一维数组,,每个位置放Node*类型指针。而后开始遍历单向链表,遍历过一个节点后就将该节点的指针添加到这个一维数组中,随后与该数组前边的所有元素进行一次遍历比较,如果有重复,则定位到了这个出现环路的节点。      但是后来面试官说:

2010-08-19 23:48:00 11455 2

转载 面试题(Qt + 函数指针)

<br />面试官问的问题是:Qt信号槽机制,你觉得可以用什么策略来取代? 因为signal-slot本身是一个顺序执行的过程,只有执行完slot之后,才会执行emit的下一条语句。其策略类似于函数调用,只不过由于其在QObject中架设了一个大的结构,这导致其执行效率不是很高,比直接的函数调用要慢10倍(忘记拿看的数据了)。平时在做项目时:如果可以我一般是用写纯虚接口的方式来替代signal-slot。   面试官又问:你有没有想过用函数指针来替代? 汗一个先,以前真没想过,而且函数指针用的也很少,今天专

2010-08-19 23:19:00 5138

原创 QT 创建鼠标右键菜单

<br />QWidget及其子类都可有右键菜单,因为QWidget有以下两个与右键菜单有关的函数: <br />Qt::ContextMenuPolicy contextMenuPolicy () const <br />void setContextMenuPolicy ( Qt::ContextMenuPolicy policy ) <br />Qt::ContextMenuPolicy枚举类型包括:Qt::DefaultContextMenu, Qt::NoContextMenu, Qt::Prev

2010-08-19 23:04:00 6456

转载 QT 绘图设备和Graphics View Framework

绘图设备是指继承QPainterDevice的子类。Qt一共提供了四个这样的类,分别是QPixmap、QBitmap、QImage和QPicture。其中,QPixmap专门为图像在屏幕上的显示做了优化,而QBitmap是QPixmap的一个子类,它的色深限定为1,你可以使用QPixmap的isQBitmap()函数来确定这个QPixmap是不是一个QBitmap。QImage专门为图像的像素级访问做了优化。QPicture则可以记录和重现QPainter的各条命令。下面我们将分两部分介绍这四种绘图设备。Q

2010-08-19 22:17:00 6006

原创 事件Qevent的接受和忽略 和重定义 事件过滤器

前面说到了事件的作用,下面来看看我们如何来接收事件。回忆一下前面的代码,我们在子类中重写了事件函数,以便让这些子类按照我们的需要完成某些功能,就像下面的代码:void MyLabel::mousePressEvent(QMouseEvent * event){        if(event->button() == Qt::LeftButton) {                // do something        } else {                QLabel::mousePre

2010-08-18 18:29:00 4725 4

原创 QT的 Meta-Object系统

前面说过,Qt使用的是自己的预编译器,它提供了对C++的一种扩展。利用Qt的信号槽机制,就可以把彼此独立的模块相互连接起来,不需要实现知道模块的任何细节。 为了达到这个目的,Qt提出了一个Meta-Object系统。它提供了两个关键的作用:信号槽和内省。 面向对象程序设计里面会讲到Smalltalk语言有一个元类系统。所谓元类,就是这里所说的Meta-Class。如果写过HTML,会知道HTML标签里面也有一个,这是用于说明页面的某些属性的。同样,Qt的Meta-Object系统也是类似的作

2010-08-18 01:28:00 1669

转载 Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())

在Qt中设置widget背景颜色或者图片方法很多种:重写paintEvent() , 调色板QPalette , 样式表setStyleSheet等等。       但是各种方法都有其注意事项,如果不注意则很容易陷入麻烦中。1:setStyleSheet()     这个函数我一直很喜欢使用,因为只要写一句就可以实现效果,比其他方法都简单,但是其却有一个很值得注意的地方,也就是这个地方让我大吃苦头。    亦即:①:该函数只能用于设置有父窗口的子窗口的背景!如果一个窗口没有子窗口,则无法使用该函数来设置背

2010-08-17 17:10:00 23680 6

转载 QTextEdit 外观属性设置

一、给QTextEdit添加背景图片,有下面两种方法:QTextEdit* iEdit  = new QTextEdit();1:使用样式表:     iEdit->setStyleSheet("background-image:url(:/bmp/DSCN1604.JPG)");    注意:在url()括号中首先开始的 “:”冒号一定不能搞错,否则就显示不出来。2:使用html    iEdit->setHtml("");    注意:此时就不需要像上边那样用“:”冒号了,直接用相对路径就可以了。(No

2010-08-17 16:00:00 6733

原创 自己写的Linux 移动飞信

<br />开发语言:C++<br />开发框架:QT Creator QT4.6.3 version<br />开发平台:Red Hat Linux  Enterprise 5<br /> <br />设计思想:调用中国移动的飞信API,讲用户信息发送给指定的URL,Linux curl来解析URL,将信息发送出去,遗憾的是不知道如何获取飞信服务器的数据包,因此只能发送短信,不能同步将接收到的飞信获取。<br />较以前写的程序,这次用了大量的代码来使界面更加完美,例如在信息编辑框中都是用了指定透明度效果

2010-08-17 15:24:00 2634 6

原创 QTableWidget的使用和美工总结

本来想找找QT里有没有现成的API的,结果没有找到,只能自己写了。实现也好实现,QTableWidgetItem里面有修改背景色的API,直接调用,然后用循环控制隔行换色即可。实现代码:void testtt::changeColor(QTableWidget *tablewidget){for (int i = 0;i rowCount();i++){      if (i % 2 == 0)      {            for (int j = 0;j columnCount();j++)

2010-08-17 01:18:00 14642 1

转载 QT 添加启动画面

许多应用程序在启动时显示一个画面。在程序启动很慢时,程序员用这种方法可以让启动时间感觉不那么长,还有用这个画面满足市场的一些要求。给Qt应用程序加一个启动画面很简单,需要使用的类是QSplashScreen。在窗口没有显示之前,QSplashScreen显示一个图片,他还可以在图片上显示文字信息提示用户当前程序初始化的进度。一般情况下,启动画面代码在main()函数中,加在调用QApplication::exec()之前。下面的一个程序的main()函数使用QSplashScreen显示一个启动画面,同时显

2010-08-17 00:38:00 4967 4

原创 消去window的最大化和最小化按钮

MainWindow w;w.setWindowFlags(w.windowFlags()&~Qt::WindowMaximizeButtonHint&~Qt::WindowMinimizeButtonHint);

2010-08-14 19:37:00 3992

原创 QFileDialog的用法

<br />Qt中 文件对话框QFileDialog 的使用<br />资料来源于Qt官方文档,我总结了其中常用到的部分:<br />一. 最简单的方法是调用静态函数来对话框获取文件:<br />QString file = QFileDialog::getOpenFileName(<br />                    "/home/foxman",<br />                    "Images (*.png *.xpm *.jpg)",<br />            

2010-08-14 13:21:00 27990 2

转载 Qt下的模态和非模态对话框

模态对话框(Modal Dialog)与非模态对话框(Modeless Dialog)的概念不是Qt所独有的,在各种不同的平台下都存在。又有叫法是称为模式对话框,无模式对话框等。 所谓模态对话框就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭。对于非模态对话框,当被打开时,用户既可选择和 该对话框进行交互,也可以选择同应用程序的其他窗口交互。在Qt中,显示一个对话框一般有两种方式,一种是使用exec()方法,它总是以模态来显示对话框;另一种是使用show()方法,它使得对

2010-08-14 11:30:00 7497 1

转载 QTableWidget中checkBox如何判断复选框是否被选中

在QTableWidget中会经常用的checkBox,但是如何判断复选框是否被选中呢,方法是利用QTableWidget::cellChanged()函数,检查单元格内容的变化,然后连接此信号,在槽函数中检测checkBox的状态,代码如下:查看源代码 打印帮助01 QTableWid

2010-08-14 11:14:00 10380

原创 QComboBox用法小结

fromComboBox = QComboBox() 添加一个 combobox        fromComboBox.addItem(rates) 添加一个下拉选项      fromComboBox.addItems(["%d years" % x for x in range(2, 26)]) 从序列中添加         fromComboBox.setMaxVisibl

2010-08-14 09:58:00 30451 12

原创 仿QQ音乐播放器

<br />开发语言:C++<br />开发平台:QT Creator  QT 4.6 version<br />开发环境:RedHat Enterprise Linux 5<br /> <br />主要功能:<br />1、保存用户列表,下次打开可以自动导入列表<br />2、实现 单机播放,单曲循环,顺序播放,循环播放,随机播放 五种工作模式<br />3、模糊搜索音乐功能<br />4、编辑搜索的同时同时输出搜索结果,无需编辑完再Enter来搜索<br />5、当前播放曲目突出显示<br />6、快捷

2010-08-14 09:23:00 2875 1

原创 QT 多媒体软件设计

<br />QT中多媒体的播放,phonon  主要使用MediaObject ,sinks,path的方法<br />MediaObject 用于对媒体流基本控制,如播放,暂停,停止等,通过读取MediaSource<br />MediaCtroller用于对媒体进行控制,如章节,菜单,列表等管理<br /> <br />sinks<br />用于从phonon中输出媒体到硬件设备声卡等,<br />path用于连接MediaObject 和sinks,在他们之间建立联系,输送媒体文件<br />crea

2010-08-12 20:22:00 4105 3

原创 程序退出的几种方法

<br />首先看函数QApplication::setQuitOnLastWindowClosed(bool) ,该函数的作用是<br />This property holds whether the application implicitly quits when the last window is closed.<br />The default is true<br />即控制着当最后一个可视的窗口退出时候,程序是否退出,默认是是的<br />如果使用app.setQuitOnLastWind

2010-08-11 23:26:00 8090

原创 C++ map的基本操作和用法

查看源代码示例1、map简介map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。2、map的功能自动建立Key - value的对应。key 和 value可以是任意你需要的类型。根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10...

2010-08-11 18:16:00 75028 1

原创 QT 中QTextEdit添加图片

在文本编辑框中添加图片,需要借助QTextDocument把图片作为资源添加到QTextEdit中The QTextDocument class holds formatted text that can be viewed and edited using a QTextEdit.QTextDocument is a container for structured rich text

2010-08-11 18:01:00 13362 2

原创 自己写的Linux QQ

<br />从7月29号开始,今天8月11号,7号到学校,每天除了吃饭,都在办公室呆着,不过外面太热了,也没有出去,最近刚学了QT,就写了一个山寨QQ,所有的资料都是英文的,一时间真的看得脑袋大,只要坚持,只要努力,看英文资料不算什么困难,努力写代码,把这条路坚持下去<br /> <br />主要功能:<br />1、通过UDP协议 socket与服务端进行消息的发送,接受<br />2、客户端隐藏控制面板中,有功能拓展:浏览器和音乐播放器<br />3、采用多进程打开音乐播放器<br />4、同步打开浏览

2010-08-11 16:05:00 2495 2

原创 在socket中发送中文的方法

<br /> <br />QT中封装的socket类有QUdpSocket 和QTcpSocket,但是发送和接受的函数<br />qint64 writeDatagram ( const char * data, qint64 size, const QHostAddress & address, quint16 port )<br />qint64 writeDatagram ( const QByteArray & datagram, const QHostAddress & host, quint1

2010-08-10 19:34:00 6273 5

转载 QT 对话框添加背景图片的方法

1. QPalette的方法#include #include int main(int argc, char *argv[]){    QApplication app(argc,argv);    QFrame *frame = new QFrame;    frame->resize(400,700);    QPixmap pixmap("images/frame.png");    QPalette   palette;    palette.setBrush(frame->backgroundR

2010-08-09 20:19:00 11827 7

转载 QT QProgress的使用

所谓 IO 其实不过是与其他设备之间的数据交互。在 Linux 上这个概念或许会更加清楚一些。Linux 把所有设备都看作是一种文件,因此所有的 IO 都归结到对文件的数据交互。同样,与其他进程之间也存在着数据交互,这就是进程间交互。  所谓 IO 其实不过是与其他设备之间的数据交互。在 Linux 上这个概念或许会更加清楚一些。Linux 把所有设备都看作是一种文件,因此所有的 IO 都归结到对文件的数据交互。同样,与其他进程之间也存在着数据交互,这就是进程间交互。  为什么需要进程间交互呢?Qt 虽然是

2010-08-09 19:54:00 6160

转载 多线程还是多进程

<br />关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。<br />经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?”等等期望一劳永逸的问题,我只能说:没有最好,只有更好。根据实际情况来判断,哪个更加合适就是哪个好。<br />我们按照多个不同的维度,来看看多线程和多进程的对比(注:因为是感性的比较,因

2010-08-05 16:13:00 2106

原创 TCP三次握手

在server和client调用socket生成套接字后,server调用listen监听某个端口后,调用accept来等待client的连接,accept本身是阻塞的,直到收到client的请求后,accept才返回client调用connect函数项server所在主机发起连接请求,连接的报文中除了包含server的iP和端口外,还包含了client端初始化的序号SYN a 和MSS=1460(最大数据段的大小),正在倾听client连接的server收到client的连接请求后,server从acce

2010-07-18 16:15:00 1326

原创 按键中断的platform bus设备和驱动

<br />platform_device <br /> <br />/*<br />程序说明:基于platform bus的按键中断设备程序,与platform BUS的按键驱动程序匹配使用<br />作者:谢思源<br />时间:2010.7.16<br />*/<br />#include <linux/init.h><br />#include <linux/module.h><br />#include <linux/kernel.h><br />#include <linux/fs.h><br

2010-07-17 12:50:00 2221 2

转载 Linux内核中的platform机制

Linux内核中的platform机制从Linux 2.6起引入了一套新的驱动管理和注册机制:platform_device和platform_driver。Linux中大部分的设备驱动,都可以使用这套机制,设备用platform_device表示,驱动用platform_driver进行注册。Linux platform driver机制和传统的device driver 机制(通过driver_register函数进行注册)相比,一个十分明显的优势在于platform机制将设备本身的资源注册进内核,由内

2010-07-17 00:12:00 1529

原创 mini2440按键中断和LED gpio

<br />驱动程序:<br />LED分别使用GPB5/6/7/8 六个按键分别使用GPG0、3、5、7、6、11、所用中断号是8、11、13、15、14、19<br />/*<br />程序说明:字符型按键驱动,按下按键1时候1号LED亮,按2按键LED2亮,依次,按5时候所有LED都亮,按6时候闪烁两下<br />*/<br />#include <linux/miscdevice.h><br />#include <linux/kernel.h><br />#include <linux/init.

2010-07-16 14:34:00 3021

原创 struct device 中的dev_id哪里去了?

struct device -replace bus_id with dev_name(),以后只要使用 dev -> bus_id 的时候,改成 dev_name()就可以了。参看http://blog.chinaunix.net/u3/108840/showart_2270330.html

2010-07-13 20:29:00 2427

转载 snprintf()和sprintf()格式化字符串

int snprintf(char *str, size_t size, const char *format, ...);将可变个参数(...)按照format格式化成字符串,然后将其复制到str中   (1) 如果格式化后的字符串长度 (2) 如果格式化后的字符串长度 => size,则只将其中的(size-1)个字符复制到str中,并给其后添加一个字符串结束符('/0')   函数返回值:若成功则返回欲写入的字符串长度,若出错则返回负值。   -----------------------------

2010-07-13 15:05:00 7384

原创 kobject和kset

1 Kobject1.1 简介<br />Kobject 是Linux 2.6 引入的新的设备管理机制,在内核中由struct kobject数据结构 进行描述通过这个数据结构使所有设备在底层都具有统一的接口,kobject提供基本的对象管 理,是构成Linux2.6设备模型的核心结构,它与sysfs文件系统紧密关联,每个在内核中注 册的kobject对象都对应于sysfs文件系统中的一个目录。Kobject是组成设备模型的基本结 构。但是,它比较低调,从不单独使用,都是嵌套在别的数据结构中。类似于C++中

2010-07-13 12:35:00 1863

原创 register_chrdev_region()和registe_chrdev()

分配设备编号,注册设备与注销设备的函数均在fs.h中申明,如下:extern int register_chrdev_region(dev_t, unsigned, const char *); //静态的申请和注册设备号extern int alloc_chrdev_region(dev_t, unsigned, const char *);//动态的申请注册一个设备号extern int register_chrdev(unsigned int, const char *,              

2010-07-12 21:25:00 7004 2

ConsolePro支持最新unity.rar

支持最新版unity console pro,内含dll和unity package导入文件 ,亲测可用

2020-06-04

visual assist x

内含破解包, 支持 包括vs2017 所有版本 亲自测试可以使用

2018-06-30

linux 进程间通信

嵌入式 linux进程间通信原理介绍 有详细的介绍

2010-02-17

VC画曲线图 动态走势图

VC 实现画走势图 画在单文档中,并画有坐标,在坐标中实现动态的曲线表示数据的变化

2009-11-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除