关闭
当前搜索:

[置顶] Qt学习: 坐标系统详解

想来初学Qt的小伙伴,一定对于Qt中的坐标系问题感到疑惑,下面将详细解释下Qt中的坐标系以及转化. 1.世界坐标和模型坐标. 那么,什么是世界坐标呢?其实很简单,我们可以把电脑屏幕当成一个世界,世界坐标就是,电脑上的一个位置(这里可以看成一个点)相对于左上角的位置.因为是ui界面,所以是一个以左上角为原点,横轴为x轴,纵轴为y轴的坐标系.为什么取名世界坐标呢?因为这是一个从第三者的角度去理解的,...
阅读(6) 评论(0)

[置顶] Qt学习: 如何显示中文,QString和string以及C风格字符串的转换

由于Qt是使用C++作为语言来开发的,而大多数人对于C++中的STL用的比较多,这也造成了Qt中字符串类型转换问题的一个原因,当然Qt中也封装了一个QString类来方便字符串的使用,所以Qt中大部分类方法的参数都是QString类型的,所以在QString,string,char*三者之间的转换出了些问题.1.QString和string之前的转换.QString temp = "nihao";...
阅读(17) 评论(0)

[置顶] Qt学习: 鼠标追踪及自定义工具栏.(以美图看看为例)

在主窗口中,除了自带的一个主工具栏,还可以在其他位置放置自定义的QToolBar.但是你会发现,ui页面的mainToolBar的初始位置只能是上下左右四个位置,这里说的是初始位置,因为只要设置了floatable和movetable这两个属性,就可以拖动到指定位置,但如果要实现初始就要在某一特定位置的话,只能够重新定义一个工具栏.//"c.cpp"内的代码: #include "c.h"c::c(...
阅读(19) 评论(0)

[置顶] Qt实现任务栏中的托盘图标的功能.

看我们电脑最下面一行的任务栏,会发现有一些软件被关闭后,还会继续存在任务栏中,当点击任务栏中的图标时,又会跳出来这个软件的画面,主要用到了Qt中的QSystemTrayIcon这个类,下面我们来简单的展示下实现的方法://"c.cpp"的代码: #include "c.h" c::c(QWidget *parent) : QMainWindow(parent) { ui.setupU...
阅读(19) 评论(0)

[置顶] Qt实现右键菜单的五种方法!(以QListWidget为例)

学习了Qt很久,下面总结了5种实现右键菜单的方法(以QListWidget为例): 下面5种方法选其一即可.当然越简单越好啦! 1.重写QListWidget的virtual void mousePressEvent(QMouseEvent *event);鼠标点击函数. 2.重写QListWidget的virtual void contextMenuEvent(QContextMenuEve...
阅读(30) 评论(0)

[置顶] Qt实现窗口整体拖拽功能.

我们都知道,当我们鼠标点击并移动应用程序的上边框时,窗口才会整体移动,但有些窗口,你点击移动其他部分,也可以让窗口跟着鼠标移动,这里就教你如何整体移动窗口.其实实现这样的功能很简单,只需要重写以下的3个鼠标函数即可.//"c.h" #ifndef C_H #define C_H#include #include "ui_c.h" #include <QMous...
阅读(15) 评论(0)

[置顶] STL常用算法: fill,rotate,rotate_copy.

fill算法用来填充容器,当然创建容器的时候,也可以达到与fill算法一样的效果.#include #include #include using namespace std; //fill算法的手动实现. template void myFill(T first, T last, co...
阅读(11) 评论(0)

[置顶] 子类化QListWidget实现自定义拖拽功能.

我们经常会碰到这样的一个问题,我们想把其他地方选中的文本,直接通过拖拽移动到一个控件中,从而实现方便添加项的功能. 这里我们以QListWidget作为例子,来实现这么一个功能:其他地方的文本可直接拖拽进QListWidget中,且QListWidget部件中的文本可相互拖拽,也就是可以从QListWidget中拖拽项到另外一个QListWidget中,实现拖拽项的功能.首先我们对QListWid...
阅读(55) 评论(0)

[置顶] STL通用算法: iter_swap,reverse,reverse_copy,advance算法

在学习C语言时,当我们需要互换两个数的时候,我们会这么写,或者通过指针去写.int temp = a; a = b; b = temp;所以在STL中针对互换容器内的元素时,就有了iter_swap基础算法,就是用来互换两个指针所指向内容的方法.#include #include #include #include <functiona...
阅读(34) 评论(0)

[置顶] STL通用算法: for_each,c++11标准范围for,transform.

之前的算法都用到了for_each算法把容器内的元素输出到屏幕上,所以今天讲讲for_each这个算法,还有和它功能类似的范围for的用法.#include #include #include using namespace std;template class Print { public: void...
阅读(27) 评论(0)

[置顶] STL常用算法: remove,remove_if,remove_copy,remove_copy_if,remove系列算法和partition的区别...

下面我要介绍的是STL算法中,用来进行按条件除去容器内元素的通用算法,也就是所有容器都适用的方法.#include #include #include #include using namespace std;template class Print { public: void...
阅读(46) 评论(0)

[置顶] STL常用算法: replace.replace_copy.replace_if.replace_copy_if

在STL中,我们可以用算法把容器内的一些元素进行替换,这里就用到了replace系列的算法.首先是最简单的replace算法.#include #include #include #include using namespace std;//模板输出类. template class...
阅读(39) 评论(0)

[置顶] STL常用算法: distance实现,count_if算法实现,bind2nd的使用..

前面讲到用distance算法来返回两个迭代器之间的距离.下面给出实现:template int myDistance(T a, T b) { int distance = 0; if (a <= b) { while (a != b) { distance++; a++...
阅读(38) 评论(0)

[置顶] lua: 运算符易错点: and or 连接符'..'

在C++中,&&表示并且,||表示或. 而在lua中用 and表示且, or表示或.然而还是有一些小伙伴搞不清楚lua中的用法…我将在下面进行举例说明,看完例子,你基本完全懂了.. 首先,你必须要知道: 在lua中,只有false和nil是false,其他一切都是true的.包括0,NULL都是true…1.and示例:--直接输出. print((5>3 and 5)); --结果为5.因为...
阅读(44) 评论(0)

[置顶] STL常用算法: max_element,min_element, distance以及手动实现.

今天主要讲解如何在容器中找到最大元素或者最小元素的方法,就不用我们手动去写函数来找到最值的大小和位置啦~.//头文件!不要忘啦,否则编译不能通过的. #include #include #include #include using namespace std;int main() { vector<i...
阅读(45) 评论(0)

[置顶] STL简介

学C++,必须也要学会使用STL,STL全称standard template library,也就是所谓的标准模板库,它包括了容器,也就是我们学习数据结构时自己手写的链表,栈,队列等等,当然栈和队列只是在原有链表或者deque的基础上砍掉了某些东西而形成的一种结构,在STL中,它不属于容器的范畴,而是属于配接(adapters). 我们可以很明显的从STL中看到什么叫做泛型,泛型编程是如何的,而...
阅读(33) 评论(0)

[置顶] Windows7下使用VS2015搭建Lua开发环境

首先进入lua官网,下载最新版本的lua源码。 这里我将文件解压放到D盘,D:\lua-5.3.1就是该目录。二、启动VS2015创建新的项目1、选择【文件】—>【新建】—>【项目】,选择Win32里面的Win32控制台应用程序,这里我设置名称为Lua5.3,其他配置参数不变,点击【确定】按钮。2、在应用程序设置向导里面,选择类型为【静态库】,然后点击【完成】即可,如图所示。3、创建好项目后,在【...
阅读(29) 评论(0)

[置顶] Qt学习: 给程序添加快捷键事件的几种方法介绍

不管在玩游戏,还是使用软件时,我们都可以看到,几乎都带了快捷键来操作这个软件,或者游戏,那么如何在程序中去实现这个功能呢?我将在下面介绍三种常用的方法.第一种方法:第一种方法就是重写键盘事件的虚函数. virtual void keyPressEvent(QKeyEvent *event);//重写键盘事件. //别忘了头文件 void c::keyPressEvent(QKe...
阅读(27) 评论(0)

[置顶] ANSI C标准库: <ctype.h>下函数讲解

小伙伴们注意了!ANSIC标准库的函数在C++中一样可以使用,在C++中,使用ctype.h和cctype头文件是一样的.都可以使用原库中的所有函数!ctype.h下重要函数 1->int isalnum(char); //判断是否为字母或数字,如果为字母,返回2,如果为数字,返回4,否则返回0. 2->int isalpha(char); //判断是否为字母,如...
阅读(37) 评论(0)

[置顶] STL: vector容器成员函数resize的作用

#include #include #include #include #define SIZE 5000000 using namespace std;class A { public: int operator()() { return x++; } static i...
阅读(52) 评论(0)

[置顶] STL: string和vector的容量变化

我是在vs2013下所做的测试,实验结果可能和在vc6.0或者其他编译器上有所不同.当string的元素个数<=15时,容量恒为15,当新元素增加等导致容量增加时,取原容量的1.5倍和原容量+16的一个倍数作比较,取大值.那么这个倍数怎么取呢?只要原容量一次次的增加16,当数值大于所需新容量时即可.string容量第一个例子:#include #include ...
阅读(42) 评论(0)

[置顶] Qt学习: 鼠标事件总结(转)

1、QMouseEvent中的坐标 QMouseEvent中保存了两个坐标,一个是全局坐标,当然另外一个是局部坐标。 全局坐标(globalPos())即是桌面屏幕坐标(screen coordinates),这个跟windows下的调用getCursorPos函数得到的结果一致。 局部坐标(pos())即是相对当前active widget的坐标,左上角坐标为(0, 0)。补充一个公式:...
阅读(44) 评论(0)

[置顶] Qt学习: QPaintEvent和QMouseEvent的简单程序示例

QMouseEvent下可以被重写的虚函数: 1.void mousePressEvent(QMouseEvent *event); //鼠标键被按下的事件. 2.void mouseReleaseEvent(QMouseEvent *event); //鼠标键被放开的事件. 3.void mouseMoveEvent(QMouseEvent *event); //按住鼠标键移动的事件....
阅读(95) 评论(0)

[置顶] Qt学习: 如何在Qt中使用全局变量!出现无法解析的命令的问题看过来!!

很多小伙伴在Qt编程时,不会使用全局变量,其实基本有两种方式来定义使用全局变量,第一种是根据c/c++的extern来进行多文件的使用,第二种方法就是把全局变量放在类中,当做类静态变量来使用,一般来说,第一种方式严重破坏了类的封装,所以还是推荐第二种方式.下面给出简单的示例:1.先在一个.h文件中声明一个类: //c.h #ifndef C_H #define C_H class QPos { pu...
阅读(37) 评论(0)

[置顶] Qt Designer中自定义控件的使用(提升法与插件法)

准备乱写一点Qt自定义Widget在Designer中的使用。可是又不想重复提升法(promotion)及插件法基本用法,因为Manual中Using Custom Widgets with Qt Designer已经说的很清楚了。 使用designerQt用户可能会经历这样的3个阶段: 刚接触Qt,在designer中拖拖拽拽,一个界面就形成了。相当方便(不过不少人网友初次接触时对layout...
阅读(35) 评论(0)

[置顶] Qt学习: QStackedWidget和手工代码布局的程序实例

重要函数: 1.void setCurrentIndex(int); //用下标显示当前页,.从0开始. 2.int count(); //返回页面的数量. 3.void insertWidget(int, QWidget*); //在下标为参数位置插入页. 4.void addWidget(QWidget*);...
阅读(72) 评论(0)

[置顶] Qt学习: QTabWidget多页面部件的用法及程序示例

*重要函数:* 1.void setTabText(int, QString); //设置页面的名字. 2.void setTabToolTip(QString); //设置页面的提示信息. 3.void setTabEnabled(bool); //设置页面是否被激活. 4.void setTabPosition(QTabPosition::South); //设置页面名字...
阅读(74) 评论(0)

[置顶] ANSI C标准库: <time.h>下函数讲解

//time.t下的函数. #include #include #include #include using namespace std; #pragma warning(disable:4996)//重要函数. /* 1.time_t time(0); //返回的是从1970.1.1凌晨0点到当前时间的...
阅读(54) 评论(0)

[置顶] Qt学习: QCloseEvent关闭事件的使用及代码示例

QCloseEvent事件是指,当你鼠标点击窗口右上角的关闭按钮时,所触发的函数.如果你没有重写virtual closeEvent(QCloseEvent*event);这个虚函数的话,系统是默认接受关闭事件的,所以就会关闭窗体,但有的时候,比如在记事本程序中,但你的文本未保存时,点击关闭按钮,就会跳出是否保存的提示框,这是因为它重写了关闭事件这个虚函数.首先用Qt设计师拖拽一个QTextEdit...
阅读(50) 评论(0)

[置顶] Qt学习: QTimerEvent定时器事件的处理程序代码示例

重要函数: 1.int startTimer(int); //设置定时器,返回一个ld. 2.int event->timerld(); //返回当前的ld. 3.void killTimer(int); //停止定时器.首先从Qt设计师中拖拽出三个按钮,由于只是演示定时器事件的使用,所以就没有布局的需要了. 以下是”c.cpp”的代码:#include "c.h...
阅读(74) 评论(0)

[置顶] Qt学习: QPixmap实现的截屏程序代码示例

重要函数: 1.bool isNull(); //判断图片是否为空白. 2.bool save(QString); //图片保存到参数的路径. 3.QPixmap grabWidget(WId,x=0,y=0,w=-1,h=-1); //截取图片. 4.void scaled(QSize); //把图片按比例缩放.下面是一个简单的截图器的示例代码:...
阅读(71) 评论(0)

[置顶] Qt学习: 教你如何打包一个Qt程序

当我们用Qt写好一个小程序,或者软件之后,怎么样打包才能让解压包发给其他小伙伴,而且能够正常运行呢?首先打开你写的程序,选择release,然后运行. 由于缺少dll文件,所以不能正常编译运行. 我的电脑是win8.1,所以去这里找到这个命令行.因为我使用VS2013的,所以命令行的命名为Qt 5.3 32-bit for Desktop (MSVC 2013 OpenGL).小伙伴们可以在菜单...
阅读(51) 评论(2)

[置顶] Qt学习: QFileDialog和QMessageBox的用法和程序示例

*QMessageBox的用法: members: 1.void setStandardButtons(QMessageBox::); //设置按钮. 2.void setText(QString); //设置内容. 3.void setInformativeText(QString); //设置重要内容.位于对话...
阅读(74) 评论(0)

[置顶] Qt学习:QLabel的用法及其程序示例

主要成员函数:1.void setText(QString); //设置label框内的文本. 2.void hide(); //隐藏label框. 3.void setBuddy(QWidget*); //把另一个部件...
阅读(52) 评论(0)

[置顶] Qt学习:QLineEdit的程序示例

学习了上一篇博客关于QLineEdit的一些重要的成员函数和信号的用法之后,我们写一个小程序来熟练下这些函数.这里是程序完成后的图片. 首先,我们现在ui设计师里拖拽出以下的布局: 注意箭头处还有个QLabel部件. 以下是”c.cpp”下的代码:#include "c.h"c::c(QWidget *parent) : QWidget(parent) { ui.setupUi(thi...
阅读(67) 评论(0)

[置顶] Qt学习:QLineEdit的用法总结

在使用Qt编写软件时,QLineEdit这个部件经常会被用到,大部分用在登录界面的输入框,所以这个部件非常的重要.常用成员函数: 1.void setClearButtonEnabled(bool); //是否设置一个清空按钮. 点击这个清空按钮后,就会自动删除行编辑框内的所有内容,类似于clear(). 示例如图: 2.void setEchoMode(QLineEdit::Ech...
阅读(65) 评论(0)

[置顶] Qt学习:VS中使用Qt出现的常见问题:QDebug和QPrintDialog的使用.

在VS中常常会有小伙伴不知道如何使用QDebug和QPrintDialog.下面我用VS2013来教你们如何去操作.QDebug 相信很多小伙伴们发现在qt creator中使用qDebug()是可以轻易的输出在下面的,但是在vs中在程序明明没有错误的情况下,却没有地方去显示它,感到很奇怪,其实很简单.首先鼠标右键点击项目,选择属性. 然后点击配置属性->链接器->系统.找到子系统. 最后把子...
阅读(73) 评论(0)

[置顶] Qt学习: QListWidget程序示例

学习了上一条博客的关于QListWidget的成员函数的用法,下面就有一个相关的简单小程序来练下手: 程序完成如下图: 第一步,我们先通过ui设计师拖拽出我们想要的布局: 下面是”c.cpp”下的代码:我将逐句讲解:#include "c.h"c::c(QWidget *parent) : QMainWindow(parent) { //应用ui设计师布局. ui.se...
阅读(140) 评论(0)

[置顶] window常用命令(一)

cmd是command的缩写.即命令行,在9x系统下输入command就可以打开命令行.而在NT系统上可以输入cmd来打开,在windows2003后被cmd替代,利用CMD命令查询系统的信息或者是判断网络的好坏. 我将从简到难的,以20个为一组进行更新,帮助小伙伴们更好的去记忆.最后还有一些简单的快捷操作喔.CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件...
阅读(64) 评论(0)

[置顶] Qt学习: QListWidget的用法.

QListWidget类重要的函数: 1.void addItem(const QWidgetItem*); //加入一个项.需要自己先创建一个项的对象. 示例如下:QListWidgetItem *ite = new QListWidgetItem; ite->setText(QString::fromLocal8Bit("杭州")); ui.listWidget->addItem(ite...
阅读(83) 评论(0)

[置顶] Qt 类中Q_OBJECT的作用及其程序代码体现

Qt中类里为什么要加上Q_OBJECT这个东西呢,原来这是一个Qt定义的宏.它的作用是什么呢? 原来这个宏中包含了Qt中最重要的一个机制:也就是信号和槽的机制.所有的Qt程序一定会使用这个机制!下面我们可以先看一个简单的小程序,一个类似于图片加载器的小程序.以下是先用Qt设计师简单拖拽出来的一个没有经过布局的图片:我拖拽了一个QLabel框,两个QPushButton,并且给他们改过了对象名.以下...
阅读(119) 评论(0)

[置顶] VS2013如何创建一个Qt程序

1.首先打开VS2013,然后点击新建项目.2.然后在左边的模板选择”Qt5 Projects”, 然后在右边选择”Qt Application”**3.然后在位置处选择你要创建到的路径,名称处的话,中英文都可以,但是最好用英文,然后点击确定就创建了一个Qt的项目.4.然后跳出来一个这样的创建界面.–5.第二项也可以保持默认.6.第三个选项,className就是你之前创建的名字,但它在Qt中是要作...
阅读(111) 评论(0)

[置顶] 教你搭建vs2013+Qt5的开发环境

很多初学者习惯了用vs系列进行C++的编程,当想进行Qt的学习时,虽然Qt官方提供的Qt creator用起来也不错,但还是喜欢用vs进行Qt编程,所以在这里教你们如何搭建这个环境.1.下载并安装好 百度云:http://pan.baidu.com/s/1i4E1Hy9 这里有Qt和VS以及他们之间的粘合剂.注意粘合剂要最后打上去.2.打开VS2013,这时候会发现在菜单中多了个”QT5”这个...
阅读(109) 评论(0)
43条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:2324次
    • 积分:429
    • 等级:
    • 排名:千里之外
    • 原创:40篇
    • 转载:3篇
    • 译文:0篇
    • 评论:2条
    最新评论