自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xujiali5172923的专栏

名可名非常名,廖胜无名而名

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

原创 (14)event()函数

点击打开链接今天要说的是event()函数。记得之前曾经提到过这个函数,说在事件对象创建完毕后,Qt将这个事件对象传递给QObject的event()函数。event()函数并不直接处理事件,而是将这些事件对象按照它们不同的类型,分发给不同的事件处理器(event handler)。event()函数主要用于事件的分发,所以,如果你希望在事件分发之前做一些操作,那么,就需要注意这个ev

2015-08-31 09:48:12 572

原创 (13)accept()和ignore()--事件的处理

承接上篇文章,先看个例子:void MyLabel::mousePressEvent(QMouseEvent * event){ if(event->button() == Qt::LeftButton) { // do something } else { QLabel::mousePressE

2015-08-28 15:45:43 1110

原创 (12)事件和信号的区别

答案都在注释中:#include #include #include //一般来说,使用Qt编程时,我们并不会把主要精力放在事件上,//因为在Qt中,需要我们关心的事件总会发出一个信号。//比如,我们关心的是QPushButton的鼠标点击,但我们不需要关心这个鼠标点击事件,而是关心它的clicked()信号。//信号与事件的区别//Qt的事件很容易和信号槽混淆。这里简单的说

2015-08-28 14:36:52 1739

原创 (11)QInputDialog--输入对话框

正如同其名字显示的一样,QInputDialog用于接收用户的输入。QInputDialog提供了一些简单的static函数,用于快速的建立一个对话框,正像QColorDialog提供了getColor函数一样。可以当做一个小工具来使用,作为一个积累吧。bool isOK; QString text = QInputDialog::getText(NULL, "Input Dialog",

2015-08-28 13:54:44 3173

原创 (10)QMessageBox--消息对话框

提示型:QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes, QMessageBox::Yes);错误型:QMessageBox::critical(NULL, "critical", "Content", QMessageBox::Yes, QMessageBox::Yes);警告型:QMes

2015-08-28 13:47:15 2172

原创 (9)QColorDialog--颜色选择对话框

我姑且就把颜色选择对话框做在前面打开文件的open()槽函数中了://槽函数的实现void MainWindow::open(){ QColor color = QColorDialog::getColor(Qt::white, this); QString msg = QString("r: %1, g: %2, b: %3")\ .arg(QS

2015-08-28 11:35:08 1784

原创 (8)QFileDialog---文件打开和保存对话框

QFileDialog是Qt中用于文件打开和保存的对话框:修改前面章节中的open()函数://槽函数的实现void MainWindow::open(){ //方法一 //为了说明QFileDialog::getOpenFileName()函数的用法,还是先把函数签名放在这里: //QString QFileDialog::getOpenFileName (

2015-08-28 10:54:41 2265

原创 (7)状态栏

从控件的类型上看,QStatusBar继承自QWidget,因此它可以添加其他的QWidget。他可以有主要三种类型,临时信息、一般信息和永久信息。其中,临时信息指临时显示的信息,比如QAction的提示等,也可以设置自己的临时信息,比如程序启动之后显示Ready,一段时间后自动消失——这个功能可以使用QStatusBar的showMessage()函数来实现;一般信息可以用来显示页码之类的;

2015-08-28 09:42:20 354

转载 微软的讨论

更新:擦,本来只有一句话,推荐Qt,远离微软,有人追问,补充了点,有人又追问,又补充了点,然后出了趟门回来,感觉跟捅了马蜂窝一样。既然都说到微软了,那就接着展开一下。问题的本源微软就是战线太长了,忙着去主导各种标准,制订各种框架,这样的话,才能更好的夹带私货,用一个你必须用的东西推进另外一个他想让你用的东西,诸如dx和windows,诸如c#和 http://asp.net,而又因

2015-08-27 18:00:55 715

原创 (?)QTableView翻页控件--MVC实现

近期由于项目需要,做了个基于MVC的QTableView翻页控件,如果熟悉MVC的话请先搞懂MVC。下面直接上代码:头文件:#ifndef MYCLASS_H#define MYCLASS_H#include #include #include #include #include class QTableView;class QSqlQueryModel;class

2015-08-21 15:30:01 7586

原创 编译依赖、链接依赖和发布库信息隐藏

一、代码保护(减少库头文件对用户暴露的逻辑信息):发布动态库时,随库发布的头文件中可删除不对外公开的部分,减少暴露过多的逻辑信息给用户,以免扰乱他们的视听,这样用户就可以只关心自己要使用的部分就可以了,上图中我做了demo测试发现可以删除的信息有:1.导出函数可选删除;2.导出类公有接口可选删除;3.导出变量可选删除;4.非导出类需要删除;5.导出类所有非公有部分需要删除;

2015-08-18 16:27:16 1045

原创 (6)为QAction添加事件响应

以上一篇博客为基础,在头文件中添加://添加打开操作的槽函数private slots: void open();源文件构造函数中添加://设置信号槽的联接 connect(openAction, SIGNAL(triggered()), this, SLOT(open()));源文件中添加://槽函数的实现void MainWindow::open(){

2015-08-17 16:53:42 7759

原创 (5)菜单和工具栏

1.用Qt Creator创建一个MainWindow应用程序。2.在窗体的头文件:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include namespace Ui {class MainWindow;}class QAction;class MainWindow : public QMainWindow{ Q_OB

2015-08-17 16:08:51 477

原创 (4)信号槽使用规则

信号槽机制是Qt编程的基础。通过信号槽,能够使Qt各组件在不知道对方的情形下能够相互通讯。这就将类之间的关系做了最大程度的解耦。槽函数和普通的C++成员函数没有很大的区别。它们也可以使virtual的;可以被重写;可以使public、protected或者private的;可以由其它的C++函数调用;参数可以是任何类型的。如果要说区别,那就是,槽函数可以和一个信号相连接,当这个信号发生

2015-08-14 17:41:04 441

原创 (3)创建一个查找对话框

首先新建一个工程,Qt Gui Application,然后最后一步注意,Base Dialog选择QDialog,而不是默认的QMainWindow头文件#ifndef DIALOG_H#define DIALOG_H#include class QCheckBox;class QLabel;class QLineEdit;class QPushButton;clas

2015-08-14 17:22:59 402

原创 组件布局

Qt提供强大的控件布局功能,并且很好的支持自适应:#include #include #include #include #include int main(int argc, char *argv[]){ QApplication app(argc, argv); QWidget *window = new QWidget; window->setWindo

2015-08-14 16:29:33 333

原创 (2)信号槽

答案尽在注释中:#include #include #include int main(int argc, char *argv[]){ //应用程序对象 QApplication a(argc, argv); //按钮 QPushButton *botton = new QPushButton("Quit"); //QObject是所有类的根。

2015-08-14 14:39:20 339

原创 (1)Hello World

#include #include int main(int argc, char *argv[]){ //应用程序对象 QApplication a(argc, argv); //文本输入控件 QLabel *label = new QLabel("Hello, world!"); //显示 label->show

2015-08-14 14:30:17 331

算法图解.pdf

全高清,带目录,省去买书的钱了。全高清,带目录,省去买书的钱了。全高清,带目录,省去买书的钱了。全高清,带目录,省去买书的钱了。全高清,带目录,省去买书的钱了。

2018-04-02

以太坊源码解析p2p节点发现时序图

go-ethereum之p2p节点发现原理解析,节省分析代码的时间,一目了然。

2018-02-01

QTableView翻页控件--基于MVC实现

从一个原型中拓展出来,注释很全,包含MVC模式的核心知识点。

2015-08-21

WLANpatcclient

WLAN Patch 客户端,保证局域网的补丁安装.

2012-04-20

空空如也

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

TA关注的人

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