- 博客(51)
- 资源 (21)
- 收藏
- 关注
原创 调式子进程方法
1.在main函数中加入DebugBreak();2.非调试状态下启动父进程3.调用子进程,DebugBreak函数会抛出异常,弹出对话框点击“调试”,这样能进到子进程的main函数
2014-10-16 16:59:19 530
转载 QT右键菜单
<br />QWidget及其子类都可有右键菜单,因为QWidget有以下两个与右键菜单有关的函数:<br />Qt::ContextMenuPolicy contextMenuPolicy () const <br />void setContextMenuPolicy ( Qt::ContextMenuPolicy policy ) <br />Qt::ContextMenuPolicy枚举类型包括:Qt::DefaultContextMenu, Qt::NoContextMenu, Qt::Pre
2011-05-02 17:46:00 883
转载 qt 事件机制
<br />什么是自发事件?哪些类型的事件可以被propagated 或compressed? posting and sending 事件之间有何不同?什么时候应该调用 accept() 或是ignore() ? 如果这些问题你还不是很了解,那么继续看下去。<br />事件起源:<br />基于事件如何被产生与分发,可以把事件分为三类:<br />* Spontaneous 事件,由窗口系统产生,它们被放到系统队列中,通过事件循环逐个处理。<br />* Posted 事件,由Qt或是应用程序
2011-03-24 16:24:00 678
转载 QT中由图形生成SVG文件实现方案(二) 分享
使用画笔<br />画笔的属性包括线型,线宽,颜色等。画笔的属性可以在构造函数中指定,也可以使用setStyle(),setWidth(),setBrush(),setCapStyle(),setJoinStyle()等函数<br />逐项设定画笔的各项属性.Qt中使用Qt::PenStyle定义了6种画笔风格,分别是Qt::SolidLine,Qt::DashLine,Qt::DotLine,Qt::DashDotLine,Qt::DashDotDotLine,<br />Qt::
2011-03-20 12:27:00 3043
转载 QT中由图形生成SVG文件实现方案
一. QT的2D绘图<br />QT的2D绘图由三个主要的类搭起整个框架:QPainter,QPainterDevice和QPainterEngine。<br />1. QPainter负责绘图操作的具体执行,如画点,画线,填充,变换等。<br />2. QPainterDevice为QPainter用来绘图的绘图设备基类,其实际预定义的子类绘图设备包括Qwidget,QImage,QPixmap,QPicture,QPrinter,QSvgGenerator等。<br />3. QP
2011-03-20 12:25:00 2129
转载 QPixmap、 QBitmap、QImage 與 QPicture
<br />在處理影像資料上,Qt提供了QPixmap、QBitmap、QImage與QPicture等類別。<br /><br />QPixmap繼承了QPaintDevice,您可用以建立QPainter並於上進行繪圖,您也可以直接指定圖案載入Qt所支援的圖檔,像是BMP、GIF、JPG、JPEG、PNG等,並使用QPainter的drawPixmap()繪製在其它的繪圖裝置上。您可以在QLabel、QPushButton上設定QPixmap以顯示圖像。QPixmap是針對螢幕顯示圖像而
2011-03-20 12:20:00 1082 1
转载 网络通讯模型
<br />老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。他们的信会被邮递员投递到他们的信箱里。<br /> 这和Socket模型非常类似。下面就以老陈接收信件为例讲解Socket IO模型。<br /><br />一:select模型<br /> 老陈非常想看到女儿的信。以至于他每隔10分钟就下楼检查信箱,看是否有女儿的信,在这种情况下,“下楼检查信箱”然后回到楼上耽误了老陈太多的时间,以至于老陈无法做其他工作。<br /> select模型和老陈的这种情况非常相似:周
2011-03-17 15:55:00 3725
原创 Qt 嵌入式底下解决绿背景色
<br />QBrush *BackColor = new QBrush(QColor(58,110,160,0)); //设置背景颜色<br />QWSServer::setBackground(*BackColor); //应用背景颜色
2011-03-17 10:34:00 3017 2
转载 Qt保持状态的Button
<br /> 360大家都用过吧,它的界面上面是一排按钮,个人感觉还挺好看。当点击按钮后,按钮会保持选中的状态,当鼠标放到按钮上后,按钮也会有一个状态图片。<br /><br /> 这种按钮在Qt中如何实现呢?这种按钮可以用QPushButton来实现,Qt的Button的基类有一个函数setCheckable(bool)可以让按钮有一个选中的状态,还有一个setAutoExclusive(bool)可以跟radiobutton一样可以跟其他radiobutton保持只有一个选
2011-03-10 15:41:00 8454 1
转载 转:图片透明的设置
<br />工作似乎走上正轨了,上周五的工作是做一个界面,用到QFrame和QPushButton,QFrame做主面板,QPushButton为其子控件,需要在主面板上贴背景图片,还需要在QPushButton上贴上相应的图标,弄了一天,再加上今天一小会,终于有一点点结果了。<br /><br />通过从Google上搜索各种方法(现在才知道Google比Baidu强大很多啊),最后都试了一些,主要有下面几种方法:<br />1. QPalette的方法#include <QApplica
2011-03-07 15:22:00 3157
转载 【转】 QT实现滑动窗口
<br />#include <windows.h><br />#include <QMouseEvent><br />#include <QMessageBox><br />FloatingWindow::FloatingWindow(QWidget *parent, Qt::WFlags flags)<br />: QMainWindow(parent, flags)<br />{<br />ui.setupUi(this);<br />ui.pushButton->setF
2011-02-24 17:55:00 8404 5
转载 转:QT实现阴影窗口(三)
<br />上一篇讲到了实现用拖动窗口,这篇分享一下实现最大化,最小化窗口。<br /> 一般的窗口都有最大化最小化功能,在WINDOWS系统下,在窗口右上角有相应的按钮,而在MAC系统,相应的按钮是在左上角的。现在我们的窗口是没有最小化最小化和关闭按钮的,要关闭窗口只能用Alt + F4或Esc键。<br /> 这里实现一个最大化,最小化和关闭窗口按钮的部件来代替标准窗口的窗口控制按钮,实现如下:<br />//WindowControl.h<br />class WindowCont
2011-02-24 15:09:00 3222
转载 转:QT实现阴影窗口(二)
<br />从上一篇的效果可以看到窗口并不美观,而且不能用鼠标进行拖动,还不可以实现最大最小化。<br /> 要实现用鼠标拖动可以,重载鼠标点击和鼠标移动事件的处理,具体如下:<br /> //GraphicDialog.h<br /> protected:<br /> void mousePressEvent(QMouseEvent *)<br /> void mouseMoveEvent(QMouseEvent* );<br />
2011-02-24 15:07:00 2612
转载 转:QT实现阴影窗口(一)
<br /> QT的窗口对于一般的窗口程序来说,已经完全够用了。但有时候我们要求界面比较精美,或者还想自定义皮肤之类的话,就需要自己定义窗口。这里介绍一种简单的自定义窗口的方法。<br /> 自定义样式可以达到很多的自定义皮肤的效果,但自定义样式有时不能指定窗口的形状,或者实现窗口的阴影效果(使用QT的QGraphicsEffect定义阴影,但运行效率较低)。这样的话可以重载窗口的paintEvent函数实现自绘制窗口。<br /> 先准备一张有窗口阴影的背景图,然后在paintEv
2011-02-24 15:04:00 5066
原创 转:隐藏QT窗口边框 并且在隐藏后实现窗口拖拽
<br />今天在写gsyncer的UI,突然想把边框隐藏了,在网上搜了一下,直接在QMainWindow或者QDialog的构造函数中调用<br />this-> setWIndowFlags(Qt::FramelessWindowHint); 就OK了<br /> <br />隐藏边框之后,发现的问题是无法拖动窗口了,于是又上网找,终于找到了如下的解决方案。<br /><br /><br /> <br />实现一个以图片边框为窗口边框的Qt程序,可以鼠标左键拖动,点击右键可以推出程序。<br />本
2011-02-24 09:56:00 2932
转载 InstallShield 自定义安装界面
<br />前言:<br />对于一些InstallShield用户或企业,对于安装包界面除了采用默认的安装对话框外,有时可能会需要利用安装界面这个平台进行产品或企业形象宣传,自定义安装对话框。下面将就此需求展示如何在InstallScript,Basic MSI或InstallScript MSI工程中如何自定义安装过程中的对话框。<br />安装对话框类型:<br />安装程序的安装界面分外部对话框和内部对话框两类。外部对话框是指安装前和安装结束部分,典型的就是欢迎和结束对话框;在欢迎和结束
2010-10-31 01:31:00 1491
转载 Qt的一些样式技巧
<br />一. 背景刷成黑色,前景色设为白色。 方法一、paltette方式,经测试,该方法不会影响到其他控件,推荐使用 QPalette bgpal = palette();<br />bgpal.setColor (QPalette::Background, QColor (0, 0 , 0, 255));<br />//bgpal.setColor (QPalette::Background, Qt::transparent);<br />bgpal.setColor (QPalette::Fore
2010-10-28 09:29:00 1085
转载 IOCP使用时常见的几个错误
<br />在使用IOCP时,最重要的几个API就是GetQueueCompeltionStatus、WSARecv、WSASend,数据的I/O及其完成状态通过这几个接口获取并进行后续处理。<br />GetQueueCompeltionStatus attempts to dequeue an I/O completion packet from the specified I/O completion port. If there is no completion packet queued,
2010-10-19 20:21:00 1822
转载 qt.conf和qtconfig配置Qt运行设定
<br /> 本站所有文章由本站和原作者保留一切权力,仅在保留本版权信息、原文链接、原文作者的情况下允许转载,转载请勿删改原文内容, 并不得用于商业用途。 谢谢合作。 原文链接:用qt.conf和qtconfig配置Qt运行设定<br />前面翻译加工了一篇关于Qt4 Windows程序打包发布的文章, 里面提到了一个重要的Qt配置文件qt.conf, 这里就讲讲关于这个文件的前世今生。<br />(本文部分内容出自Qt文档 Using qt.
2010-08-17 15:53:00 25475
转载 QT 程序打包部署
先从Windows平台开始。 Windows平台下的软件发布最主要的需求是想办法找到在你的发布中应该包含哪些必须的文件, 同时要保证应用程序运行时能正确找到这些文件, 发布基于Qt的软件也是同样的需求。 就不同的情况一一阐述:静态链接的情况静态链接是最简单的情况,这种情况下需要发布的文件数量是最少的, 只需要发布一个单独的执行档外加编译器相关的dll文件。 这种情况下Qt库首先要静态编译:nmake sub-src//如果用mingw编译,nmake替换成mingw32-make//sub-src指只编
2010-08-17 15:37:00 6238
原创 Qt 编写DLL 并调用
<br />一:编写DLL库<br />1:新建项目->选择C++ Library->选择Share Library->改类名(如HellowAdd)->下一步<br />2:增加Add方法如下:hellowadd.h#ifndef HELLOWADD_H<br />#define HELLOWADD_H<br /><br />#include "Qt_Lib_Shared_Hellow_global.h"<br /><br />class QT_LIB_SHARED_HELLOWSHARED_EXPO
2010-08-12 16:09:00 1173
原创 Qt调用win32的dll判断是否连接上了网络
<br />//拨号#defineINTERNET_CONNECTION_MODEM1//局域网#defineINTERNET_CONNECTION_LAN2//代理上网#defineINTERNET_CONNECTION_PROXY4//代理被占用#defineINTERNET_CONNECTION_MODEM_BUSY8//定义函数指针typedefbool(*ConnectFun)(int*lpdwFlags,intdwReserved);//获得联网方式voidGetInternetConnectS
2010-08-06 16:23:00 1837
原创 QT主窗体在屏幕居中显示
#include int main(int argc, char* argv[]){ QApplication app(argc, argv); // Get the size of screen QDesktopWidget* desktop = QApplication::desktop(); int width = desktop->width(); int height = desktop->height(); // Create the main window
2010-08-05 19:26:00 2558
原创 Qt实现程序开机启动
主要原理是修改Windows的注册表来实现的,Qt的QSettings提供了访问ini,注册表的功能。//读取注册表的信息,让程序自启动voidMainWindow::Readregedit(boolisAutoRun){QSettings*reg=newQSettings("HKEY_LOCAL_MACHINE//SOFTWARE//Microsoft""//Windows//CurrentVersion//Run",QSettings::NativeFormat);//开机自动运行if(isAutoRu
2010-08-05 18:17:00 8232 5
原创 Qt读写注册表和ini文件
<br />1、用QSettings写注册表<br /> QSettings *reg = new QSettings("HKEY_CURRENT_USER//Software//yinhaifan", QSettings::NativeFormat); reg->setValue("registered",true); delete reg; <br /> <br />QSettings *reg = new QSettings
2010-08-05 16:50:00 2852 1
原创 Qt编程调用外部程序打开文件
<br />QDesktopServices::openUrl ( QUrl::fromLocalFile(fileName) );<br />fileName:文件名,如C:/新建 Microsoft Word 文档.doc<br />QUrl::fromLocalFile()一定要用这个方法,因为文件名或路径中中文或空格,不然打不开文件.<br />直接用QUrl(fileName)只能打开英文名称和没有空格路径的文件.<br /> <br />如何启动一个外部程序<br />答:1、使用QProces
2010-08-05 15:08:00 7078 3
原创 实现系统小托盘
*开始前,我说明一下,托盘和任务栏是不一样的概念,想要准确地搜索到自己想要的资料.一定要准确认识概念.另外,提一句: 其实,有空了多翻翻QT_Assistant 你什么都有了.本文中内容可以到: QTdemo.exe-->Desktop-->System Tray找到官方给出的例子.其内容非常完善.把QSystemTray类的用法体现得很透了. ^o^第一期:用hello world简单的代码更容易看懂托盘的具体实现,一些细节问题,比如为什么提示消息没有显示在托盘上,如何在tip消息上增加图标等。#incl
2010-08-05 10:35:00 987
原创 设置Qt应用程序图标
<br />在Qt助手(assistant.exe)搜索关键字"Setting the Application Icon"就可以看到在各种平台设置Qt程序图标的方法。<br />首先准备个ICO图标。例如:myappico.ico 用任何文本编辑器新建个文件 <br />里面就写一行:<br />view plaincopy to clipboardprint?<br />IDI_ICON1 ICON DISCARDABLE "myappico.ico" <br />IDI_ICON1
2010-08-05 10:34:00 585
原创 Win32_动态链接库_导出DLL中的变量(四)
Lib.H文件: #ifndef LIB_H#define LIB_Hextern int dllGlobarVar;#endif dllmain.cpp文件:// dllmain.cpp : 定义 DLL 应用程序的入口点。#include "stdafx.h"#include "lib.h"int dllGlobarVar;BOOL
2010-04-01 22:09:00 968
原创 关于字符数组的初始化
字符数组可以在定义时进行初始化,有两种初始化方法:方法1:逐个字符赋给数组中各元素char c[5]={ H,a,p,p,y };把5个字符分别赋给c[0]至c[4].
2010-04-01 11:09:00 1452
原创 Win32_动态链接库_LoadLibrary(三)
DLL.h 文件#pragma once //extern "C" int __declspec(dllexport) __stdcall AddFun(int a ,int b ); DLL.cpp 文件#pragma once#include "DLL.h"int __stdcall AddFun(int a,int b){ return a
2010-03-27 22:35:00 2082
原创 DLL中导出函数声明的两种方式
1.在函数声明器那面加上__declspec(dllexport)2.另种方式是采用模块定义文件(.def),def文件为连接器提供了有关被连接程序的导出,属性以及其他信息 def文件的规则: (1)LIBRARY语句说明.def文件相应的DLL; (2)EXPORTS语句后列出要导出函数的名称。可以在.def文件中导出函数名后加@n,表示要导出的函数的序列号为n
2010-03-21 23:13:00 630
原创 Win32_动态链接库(二)
1.“文件”—>"新建"—>“空项目” #include "windows.h" #include "stdio.h" #pragma comment(lib,"..//Debug//XXP_DLL_Test.lib") extern "C" __declspec(dllimport) int AddFun(int a,int b); //导入动态链接库的A
2010-03-21 22:40:00 485
原创 Win32_静态链接库(一)
1.这里选择的是Win32静态链接库。 LibTest.h #pragma once extern "C" int add(int a ,int b ); LibTest.cpp #pragma once #include "LibTest.h" in
2010-03-21 21:43:00 871
原创 _StdCall调用约定
被这些修饰关键字修饰的函数,其参数都是从右向左通过堆栈传递的(__fastcall的前面部分由ecx,edx传), 函数调用在返回前要清理堆栈,但由调用者还是被调用者清理不一定。 1、_stdcall是Pascal方式清理C方式压栈,通常用于Win32 Api中,函数采用从右到左的压栈方式, 自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@
2010-03-21 15:41:00 553
原创 钩子(Hook)教程
基本概念 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子
2010-03-21 09:21:00 2829
原创 正则
InputString为输入的字符OutputString为匹配后的字符OutputString=System.Text.RegularExpressions.Regex.Replace(InputString,“[^0-9A-Za-zヲ-ン,_゙゚""@*&#/s]” , string.Empty)
2010-03-16 09:12:00 425 4
原创 Spread的MaskCellType的使用
只能输入数字,但前面的零不会省去 Dim nf As New FarPoint.Win.Spread.CellType.MaskCellTypenf.Mask = "###"nf.MaskChar = " "c.Columns(SPD_COL.NOKI).CellType = nf 只能输入英数字 Dim nc As New FarPoint.Win.Spread.CellType.
2010-02-28 20:24:00 1083
原创 Spread取消电子计算器
電卓をキャンセル Private Sub spd_SubEditorOpening(ByVal sender As System.Object, _ ByVal e As FarPoint.Win.Spread.SubEditorOpeningEventArgs) _
2010-02-28 20:21:00 644
原创 DataTable排序.然后进行GroupBY
DataTable排序操作,GroupBY Dim dt As New DataTable Dim dtTemp AS DataTable dt .Columns.Add("コード") dt .Columns.Add("数量") dt.Rows.Add(dt.NewRow()) dt.Rows(i).Item("コード") ="1" dt.Rows(i)
2010-02-28 20:16:00 1360
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人