qt事件相关知识

1.qt父窗口区分处理子窗口子控件事件,和自己的事件

(1)窗口或者控件安装事件拦截器. 

xx->installEventFilter(this); //this为父窗口  xx为子窗口或者控件, 

(2)父窗口的eventFilter(QObject *watched, QEvent *event)

可以收到子窗口(非子窗口内的控件, 子窗口内的控件还是需要: 子窗口初始化子窗口内的控件的时候来设置拦截)的事件, 此处可以用return true; 来屏蔽子窗口的事件. 

(3)父窗口可以用mousePressEvent(QMouseEvent *event)来处理自己窗口的事件.

好处是自己的事件与子窗口的事件就不用根据watched来判断了. 

event.ignore 不拦截事件, event.accept拦截事件.

2. QT事件类型转换

	QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event);
	if (event->type() == QEvent::MouseButtonPress) {
		if (mouseEvent->button() == Qt::LeftButton) {
			return true;
		}
	}

3. QT信号和槽相关知识

Qt之emit、signals、slot的使用_ZONGXP的博客-CSDN博客参考:https://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/signal-slot/index.html信号和槽机制是 QT 的核心机制,要精通 QT 编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方。信号和槽是 QT 自行定义的一种通信机制,...https://blog.csdn.net/zong596568821xp/article/details/78917689

4. Qt之QMetaObject::invokeMethod()使用简介 

Qt之QMetaObject::invokeMethod()使用简介_luoyayun361的专栏-CSDN博客概述Qt元对象系统是Qt最核心的一个基础特性,元对象系统负责信号和插槽对象间通信机制、运行时类型信息和Qt属性系统。为应用程序中使用的每个QObject子类创建一个QMetaObject实例,此实例存储QObject子类的所有元信息。通过元对象系统,你可以查询QObject的某个派生类的类名、有哪些信号、槽、属性、可调用方法等信息,然后可以使用QMetaObject::invokeMethod(...https://blog.csdn.net/luoyayun361/article/details/97915133

 5.QT字符串处理

QString的常用方法_柳旭辉的博客-CSDN博客_qstring赋值QString的常用方法总结。https://blog.csdn.net/xuhui_liu/article/details/72833102

bool isDigital=QString("12345678").contains(QRegExp("^\\d+$"));//true
bool isDigital=QString("12345678 ").contains(QRegExp("^\\d+$"));//false
bool isDigital=QString("123.45678").contains(QRegExp("^\\d+$"));//false

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值