逛奔的蜗牛
我不聪明,但我会很努力
:: ::
新随笔
:: :: ::
管理
::
随笔分类
C/C++(67)
(rss)
Cocoa(26)
(rss)
Java(186)
(rss)
Mac(126)
(rss)
OpenGL(25)
(rss)
Qt(164)
(rss)
Qt自定义Widget(12)
(rss)
Xcode(5)
(rss)
其他编程(94)
(rss)
设计模式(2)
(rss)
外语(4)
(rss)
网文(74)
(rss)
搜索
最新评论
1. re: Java:用 Java 7 运行 IDEA 13
great post
--contact form
Qt: 事件过滤
#include
"
MainWindow.h
"
#include
<
iostream
>
#include
<
QWidget
>
#include
<
QLineEdit
>
#include
<
QObject
>
#include
<
QEvent
>
#include
<
QKeyEvent
>
#include
<
QString
>
#include
<
QChar
>
#include
<
QSizePolicy
>
MainWindow::MainWindow(QWidget
*
parent) :
QMainWindow(parent)
{
lineEdit
=
new
QLineEdit(
this
);
lineEdit
->
installEventFilter(
this
);
QSizePolicy policy
=
lineEdit
->
sizePolicy();
policy.setHorizontalPolicy(QSizePolicy::Expanding);
lineEdit
->
setSizePolicy(policy);
this
->
setCentralWidget(lineEdit);
}
MainWindow::
~
MainWindow()
{
}
bool MainWindow::eventFilter(QObject
*
obj, QEvent
*
event)
{
if
(obj
==
lineEdit)
{
if
(event
->
type()
==
QEvent::KeyPress)
{
QKeyEvent
*
keyEvent
=
static_cast
<
QKeyEvent
*>
(event);
if
(keyEvent
->
key()
>=
QChar(
'
A
'
).unicode()
&&
keyEvent
->
key()
<=
QChar(
'
Z
'
).unicode())
{
lineEdit
->
setText(lineEdit
->
text()
+
QChar(keyEvent
->
key()));
std::cout
<<
keyEvent
->
key()
<<
std::endl;
return
true
;
}
}
else
{
return
false
;
//
Do nothing.
}
}
return
QMainWindow::eventFilter(obj, event);
}
使用继承自QObject的eventFilter来过滤一些事件.
posted on 2008-03-21 23:10
逛奔的蜗牛
阅读(600)
评论(0)
编辑
收藏
引用
所属分类:
Qt
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
Qt:编码范围
Qt:Windows Qt 去掉选中的虚线框
Qt:定制qDebug等输出的格式
Qt:给QWidget添加shadow效果
Qt:Q_DECLARE_METATYPE和qRegisterMetaType
Qt:绘制带高光的按钮
Qt:FontMetrics
Mac:Mac下安装PHP, MySql开发环境
Qt:无标题栏无边框程序的拖动和改变大小
Qt:Use Third Party Libraries
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
Powered by:
C++博客
Copyright © 逛奔的蜗牛