- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 Qt中定时器的使用
#ifndef TIMMER_H#define TIMMER_H#include #include "ui_timmer.h"class timmer : public QMainWindow{ Q_OBJECTpublic: timmer(QWidget *parent = 0); ~timmer(); QString
2015-07-31 15:51:26 486
转载 Qt归纳(三)
Qt提供的容器类的最大优点在于平台无关性和隐式共享特性11.1 Sequentail ContainersQVector array-like data structure(在尾部插入数据时效率很高,而在中间和头部插入数据时开销很大)。 QVector提供了[]运算符 QVector可以用 QVector中的基本类型及指针被初始化
2015-07-31 14:55:36 1438
转载 Qt归纳(四)
18.1 Creaing Threads Qt中提供多线程的机制很简单:创建QThread的派生类,并重新实现其保护成员函数run()。 QThread::run(),被调用来开始线程的执行,在run()结束时线程终止。 QThread::terminate(),用来终止线程的执行,非阻塞操作,并不保证线程的立即终
2015-07-31 14:55:13 526
转载 Qt归纳(二)
4.1 The Central Widget QMainWindow的中央区域可以被任何类型的widget占据。4.2 Subclassing QTableWidget QTableWidget会自动创建QTableWidgetItem来存储用户的输入。 QTableWidgetItem类并不是widget,而是一个纯粹
2015-07-31 14:54:20 975
转载 Qt归纳(一)
Qt中的每个类,都有一个对应的同名头文件,其中包含其类定义。例如要使用QApplication类,则需要在程序中添加" #include " QApplication类用于管理应用程序范围内的资源。其构造函数需要main函数的argc和argv作为参数。 widget被创建时都是不可见的(always created hidden)。widget中可容纳
2015-07-31 14:52:14 408
转载 Qt重绘之update,repaint详解
Qt里面的重绘和Windows编程里面的重绘差不多。但是Qt的重绘更有特色,更加智能。 在讲之前,先说说paintEvent()paintEvent()是一个虚函数槽(slot),子类可以对父类的paintEvent进行重写。当调用update(),repaint()的时候,paintEvent()会被调用,另外,当界面有任何改变的时候,paintEvent()也会被调用,
2015-07-31 14:46:35 3763
转载 Qt获取组合键
CTRL+Enter发送信息的实现 在现在的即时聊天程序中,一般都设置有快捷键来实现一些常用的功能,类似QQ可以用CTRL+Enter来实现信息的发送。 在QT4中,所有的事件都继承与QEvent这个类,以下是用QEvent来实现快捷键的功能。 首先所有QT类的基类QObject有一个成员函数installEventFilter,这个函数是用来将一个事件处
2015-07-31 11:54:27 540
原创 停靠窗口和工具栏
QTextEdit *textEdit=new QTextEdit(this); textEdit->setText("Main Widget"); textEdit->setAlignment(Qt::AlignCenter); setCentralWidget(textEdit); setWindowTitle("Main"); QTre
2015-07-31 11:30:05 551
原创 Qt中QScrollArea的使用
QWidget *w=new QWidget; w->resize(1000,1000); QScrollArea *scrollArea=new QScrollArea; scrollArea->viewport()->setBackgroundRole(QPalette::Dark); scrollArea->viewport()->setAutoFil
2015-07-31 10:03:24 4423
原创 Qt中splitter的使用
QSplitter *splitter1=new QSplitter(Qt::Horizontal); QTreeWidget *treeWidget=new QTreeWidget; treeWidget->setColumnCount(1); QString Header="Folders"; treeWidget->setHeaderLabel(Hea
2015-07-30 17:10:17 3477
原创 Qt中QTreeWidget的使用
QWidget *w=new QWidget; QTreeWidget *treeWidget=new QTreeWidget; treeWidget->setColumnCount(2); QStringList head; head treeWidget->setHeaderLabels(head); QStringList st
2015-07-30 16:56:34 933
转载 如何调用dll文件中的函数
动态链接主要是利用LoadLibrary、GetProcAddress、FreeLibrary这三个api。LoadLibraryHINSTANCE LoadLibrary(LPCTSTR lpLibFileName);The LoadLibrary function maps the specified executable module into the address
2015-07-30 14:14:33 3342
原创 Qt布局之QStackedLayout
QWidget *w=new QWidget; QHBoxLayout *mainLayout=new QHBoxLayout; QListWidget *listwidget=new QListWidget(w); listwidget->addItem(QStringLiteral("第一个界面")); listwidget->addItem(QStri
2015-07-30 10:09:38 936
转载 动态链接库
qt类库中QLibrary就是用于解决qt调用动态库.dll问题,假设有一动态库文件为dllName.dll,其中有一库函数为 int add(int x,int y);加载动态库及获得库函数函数指针代码如下:view plain#include ... typedef int (*AddFunc)(int x,int y);//定义函数指针类型 AddFunc s
2015-07-29 16:29:52 329
原创 Qt的布局管理
Qt中最为重要的三种布局管理器是:QHBoxLayout,QVBoxLayout,QGridLayout.这三个类从QLayout派生出来。QHBoxLayout: 水平布局类QVBoxLayout: 使用垂直布局类QGridLayout : 使用网格布局类具体用法如下:Layout::Layout(QWidget *parent) : QMainWindow
2015-07-28 11:44:43 640
转载 Qt鼠标事件
1、QMouseEvent中的坐标QMouseEvent中保存了两个坐标,一个是全局坐标,当然另外一个是局部坐标。全局坐标(globalPos())即是桌面屏幕坐标(screencoordinates),这个跟windows下的调用getCursorPos函数得到的结果一致。局部坐标(pos())即是相对当前active widget的坐标,左上角坐标为(0, 0)。补充一个公
2015-07-27 16:59:45 487
原创 在QListWidgetItem中添加控件
QListWidget *list=new QListWidget;QListWidgetItem *item=new QListWidgetItem(list,0); item->setSizeHint(QSize(100,100)); QWidget *w = new QWidget(list); QPushButton *pushButton=new QPushButton(
2015-07-24 09:49:55 13839 5
原创 Qt5 操作字符串
1.“+” 例:QString str1="Hello ";QString str2=str1+"World!";//str2="Hello World!"2.QString::append() 例:QString str1="Hello ";str1.append("World!");//str1="Hello World!"3.QString::sprintf(
2015-07-23 14:55:51 2598
转载 LoadLibrary失败
正常情况,在一个exe中LoadLibrary(DLL1)可以获得正常的结果; 但是,当我们需要load的DLL1如果调用了其它的DLL2, 那么我们就会得到一个结果:The program can't start because ****.dll is missing from you computer. Try reinstalling the program to fix thi
2015-07-22 15:28:17 774
转载 Qt之界面实现技巧
一、主界面1、窗口 最小化 最大化 关闭按钮、显示状态自定义 setWindowFlags(Qt::CustomizeWindowHint); setWindowFlags(Qt::WindowCloseButtonHint); //只要关闭按钮 setWindowFlags(Qt::WindowFlags type) Qt::FrameWindowHi
2015-07-22 15:08:32 633
转载 Qt updatesEnabled
bool updatesEnabled这个属性保存的是更新是否生效。如果更新失效,调用update()和repaint()是没有效果的。如果更新失效,来自窗口系统的绘制事件会被正常处理。setUpdatesEnabled()通常被用于在一小段事件内使更新失效,例如为了避免在大的变化期间发生屏幕闪烁。实例: setUpdatesEnabled( FALSE );
2015-07-22 15:00:44 3052
转载 Qt正则表达式的使用
QRegExp是Qt的正则表达式类.Qt中有两个不同类的正则表达式.第一类为元字符.它表示一个或多个常量表达式.令一类为 转义字符,它代表一个特殊字符.一.元字符. 匹配任意单个字符.例如, 1.3 可能是1. 后面跟任意字符,再跟3^ 匹配字符串首. 例如, ^12可能是123,但不能是312$ 配字符串尾. 例如, 12$可以是312, 当不能是 123[]
2015-07-22 09:54:48 701
原创 Qt中的验证器
Qt中要使用验证器,头文件使用#includeQt提供了三种内置验证器类:QIntValidator,QDoubleValitor,QRegExpValidatorQIntValidator:确保一个字符串包含在一个有效的整数范围内例: QIntValidator *validator=new QIntValidator(0,100);QLineEdit *lineEdit
2015-07-22 09:35:36 975
转载 Qt中常用的类
QChar 表示一个字符的类,包含于QtCore判断:bool isDigit() const;//判断是否是十进制数字('0'-'9')bool isLetter() const;//判断是否是字母bool isNumber() const;//判断是否是数字,包括正负号,小数点等bool isLetterOrNumber() const;//判断力是否是
2015-07-21 17:06:30 485
转载 QPushButton
findPushButton=new QPushButton(tr("&Find"));findPushButton->setDefault(true);//将按钮设置成默认选项,即按下Enter键,会执行该按钮findPushButton->setEnabled(false);//将按钮禁用,当禁用了某个窗口部件时,它通常会显示灰色,并且不能和用户发生交互操作
2015-07-21 14:49:40 458
转载 Qt QLabel::setBuddy函数
label = new QLabel(tr("Find &what:"));//&what 定义快捷键为alt+wlineEdit = new QLineEdit;label->setBuddy(lineEdit);//设置了行编译器作为标签的伙伴。所谓“伙伴”就是一个窗口部件,它可以在按下标签的快捷键时接收焦点。所以当按下alt+w时,焦点就会移动到这个行编译器(即标签的伙伴)上
2015-07-21 14:32:21 5470
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人