Qt学习 第21节:窗口初始化EVENT

1.WindowTitleChange    改变标题
2.Move    窗口位置改变(默认0,0)
3.WindowIconChange    改变图标
4.Resize    窗口大小改变(默认0)
5.show    窗口显示过程消息
6.CursorChange    鼠标外形处理
7.ShowToParent    显示到父窗口中
8.UpdateRequest    通知将要进行窗口的绘制
9.WindowActive    获取鼠标焦点
10.Paint    绘制窗口外观
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;

    bool event(QEvent *event);

};
#endif // WIDGET_H
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
int count = 0;
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

bool Widget::event(QEvent *event)
{
    qDebug()<<QString::number(count++)+"."<< event->type();//打印窗口事件
    return false;
}

/*
QEvent::Type QEvent::type() const
Returns the event type. 
*/
#include "widget.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

下面是生成一个窗口的事件 

"0." QEvent::WindowTitleChange
"1." QEvent::Move
"2." QEvent::PlatformSurface
"3." QEvent::WinIdChange
"4." QEvent::WindowIconChange
"5." QEvent::Polish
"6." QEvent::Move
"7." QEvent::Resize
"8." QEvent::Show
"9." QEvent::CursorChange
"10." QEvent::ShowToParent
"11." QEvent::PolishRequest
"12." QEvent::UpdateLater
"13." QEvent::UpdateRequest
"14." QEvent::WindowActivate
"15." QEvent::ActivationChange
"16." QEvent::InputMethodQuery
"17." QEvent::Paint
"18." QEvent::Enter
"19." QEvent::NonClientAreaMouseMove

 关闭窗口事件

"21." QEvent::NonClientAreaMouseButtonPress
"22." QEvent::Close
"23." QEvent::WindowDeactivate
"24." QEvent::ActivationChange
"25." QEvent::Hide
"26." QEvent::HideToParent
"27." QEvent::Hide
"28." QEvent::HideToParent
"29." QEvent::PlatformSurface
"30." QEvent::UpdateRequest
Constant	Value	Description
QEvent::None	0	Not an event.
QEvent::ActionAdded	114	A new action has been added (QActionEvent).
QEvent::ActionChanged	113	An action has been changed (QActionEvent).
QEvent::ActionRemoved	115	An action has been removed (QActionEvent).
QEvent::ActivationChange	99	A widget's top-level window activation state has changed.
QEvent::ApplicationActivate	121	This enum has been deprecated. Use ApplicationStateChange instead.
QEvent::ApplicationActivated	ApplicationActivate	This enum has been deprecated. Use ApplicationStateChange instead.
QEvent::ApplicationDeactivate	122	This enum has been deprecated. Use ApplicationStateChange instead.
QEvent::ApplicationFontChange	36	The default application font has changed.
QEvent::ApplicationLayoutDirectionChange	37	The default application layout direction has changed.
QEvent::ApplicationPaletteChange	38	The default application palette has changed.
QEvent::ApplicationStateChange	214	The state of the application has changed.
QEvent::ApplicationWindowIconChange	35	The application's icon has changed.
QEvent::ChildAdded	68	An object gets a child (QChildEvent).
QEvent::ChildPolished	69	A widget child gets polished (QChildEvent).
QEvent::ChildRemoved	71	An object loses a child (QChildEvent).
QEvent::Clipboard	40	The clipboard contents have changed.
QEvent::Close	19	Widget was closed (QCloseEvent).
QEvent::CloseSoftwareInputPanel	200	A widget wants to close the software input panel (SIP).
QEvent::ContentsRectChange	178	The margins of the widget's content rect changed.
QEvent::ContextMenu	82	Context popup menu (QContextMenuEvent).
QEvent::CursorChange	183	The widget's cursor has changed.
QEvent::DeferredDelete	52	The object will be deleted after it has cleaned up (QDeferredDeleteEvent)
QEvent::DragEnter	60	The cursor enters a widget during a drag and drop operation (QDragEnterEvent).
QEvent::DragLeave	62	The cursor leaves a widget during a drag and drop operation (QDragLeaveEvent).
QEvent::DragMove	61	A drag and drop operation is in progress (QDragMoveEvent).
QEvent::Drop	63	A drag and drop operation is completed (QDropEvent).
QEvent::DynamicPropertyChange	170	A dynamic property was added, changed, or removed from the object.
QEvent::EnabledChange	98	Widget's enabled state has changed.
QEvent::Enter	10	Mouse enters widget's boundaries (QEnterEvent).
QEvent::EnterEditFocus	150	An editor widget gains focus for editing. QT_KEYPAD_NAVIGATION must be defined.
QEvent::EnterWhatsThisMode	124	Send to toplevel widgets when the application enters "What's This?" mode.
QEvent::Expose	206	Sent to a window when its on-screen contents are invalidated and need to be flushed from the backing store.
QEvent::FileOpen	116	File open request (QFileOpenEvent).
QEvent::FocusIn	8	Widget or Window gains keyboard focus (QFocusEvent).
QEvent::FocusOut	9	Widget or Window loses keyboard focus (QFocusEvent).
QEvent::FocusAboutToChange	23	Widget or Window focus is about to change (QFocusEvent)
QEvent::FontChange	97	Widget's font has changed.
QEvent::Gesture	198	A gesture was triggered (QGestureEvent).
QEvent::GestureOverride	202	A gesture override was triggered (QGestureEvent).
QEvent::GrabKeyboard	188	Item gains keyboard grab (QGraphicsItem only).
QEvent::GrabMouse	186	Item gains mouse grab (QGraphicsItem only).
QEvent::GraphicsSceneContextMenu	159	Context popup menu over a graphics scene (QGraphicsSceneContextMenuEvent).
QEvent::GraphicsSceneDragEnter	164	The cursor enters a graphics scene during a drag and drop operation (QGraphicsSceneDragDropEvent).
QEvent::GraphicsSceneDragLeave	166	The cursor leaves a graphics scene during a drag and drop operation (QGraphicsSceneDragDropEvent).
QEvent::GraphicsSceneDragMove	165	A drag and drop operation is in progress over a scene (QGraphicsSceneDragDropEvent).
QEvent::GraphicsSceneDrop	167	A drag and drop operation is completed over a scene (QGraphicsSceneDragDropEvent).
QEvent::GraphicsSceneHelp	163	The user requests help for a graphics scene (QHelpEvent).
QEvent::GraphicsSceneHoverEnter	160	The mouse cursor enters a hover item in a graphics scene (QGraphicsSceneHoverEvent).
QEvent::GraphicsSceneHoverLeave	162	The mouse cursor leaves a hover item in a graphics scene (QGraphicsSceneHoverEvent).
QEvent::GraphicsSceneHoverMove	161	The mouse cursor moves inside a hover item in a graphics scene (QGraphicsSceneHoverEvent).
QEvent::GraphicsSceneMouseDoubleClick	158	Mouse press again (double click) in a graphics scene (QGraphicsSceneMouseEvent).
QEvent::GraphicsSceneMouseMove	155	Move mouse in a graphics scene (QGraphicsSceneMouseEvent).
QEvent::GraphicsSceneMousePress	156	Mouse press in a graphics scene (QGraphicsSceneMouseEvent).
QEvent::GraphicsSceneMouseRelease	157	Mouse release in a graphics scene (QGraphicsSceneMouseEvent).
QEvent::GraphicsSceneMove	182	Widget was moved (QGraphicsSceneMoveEvent).
QEvent::GraphicsSceneResize	181	Widget was resized (QGraphicsSceneResizeEvent).
QEvent::GraphicsSceneWheel	168	Mouse wheel rolled in a graphics scene (QGraphicsSceneWheelEvent).
QEvent::Hide	18	Widget was hidden (QHideEvent).
QEvent::HideToParent	27	A child widget has been hidden.
QEvent::HoverEnter	127	The mouse cursor enters a hover widget (QHoverEvent).
QEvent::HoverLeave	128	The mouse cursor leaves a hover widget (QHoverEvent).
QEvent::HoverMove	129	The mouse cursor moves inside a hover widget (QHoverEvent).
QEvent::IconDrag	96	The main icon of a window has been dragged away (QIconDragEvent).
QEvent::IconTextChange	101	Widget's icon text has been changed. (Deprecated)
QEvent::InputMethod	83	An input method is being used (QInputMethodEvent).
QEvent::InputMethodQuery	207	A input method query event (QInputMethodQueryEvent)
QEvent::KeyboardLayoutChange	169	The keyboard layout has changed.
QEvent::KeyPress	6	Key press (QKeyEvent).
QEvent::KeyRelease	7	Key release (QKeyEvent).
QEvent::LanguageChange	89	The application translation changed.
QEvent::LayoutDirectionChange	90	The direction of layouts changed.
QEvent::LayoutRequest	76	Widget layout needs to be redone.
QEvent::Leave	11	Mouse leaves widget's boundaries.
QEvent::LeaveEditFocus	151	An editor widget loses focus for editing. QT_KEYPAD_NAVIGATION must be defined.
QEvent::LeaveWhatsThisMode	125	Send to toplevel widgets when the application leaves "What's This?" mode.
QEvent::LocaleChange	88	The system locale has changed.
QEvent::NonClientAreaMouseButtonDblClick	176	A mouse double click occurred outside the client area (QMouseEvent).
QEvent::NonClientAreaMouseButtonPress	174	A mouse button press occurred outside the client area (QMouseEvent).
QEvent::NonClientAreaMouseButtonRelease	175	A mouse button release occurred outside the client area (QMouseEvent).
QEvent::NonClientAreaMouseMove	173	A mouse move occurred outside the client area (QMouseEvent).
QEvent::MacSizeChange	177	The user changed his widget sizes (macOS only).
QEvent::MetaCall	43	An asynchronous method invocation via QMetaObject::invokeMethod().
QEvent::ModifiedChange	102	Widgets modification state has been changed.
QEvent::MouseButtonDblClick	4	Mouse press again (QMouseEvent).
QEvent::MouseButtonPress	2	Mouse press (QMouseEvent).
QEvent::MouseButtonRelease	3	Mouse release (QMouseEvent).
QEvent::MouseMove	5	Mouse move (QMouseEvent).
QEvent::MouseTrackingChange	109	The mouse tracking state has changed.
QEvent::Move	13	Widget's position changed (QMoveEvent).
QEvent::NativeGesture	197	The system has detected a gesture (QNativeGestureEvent).
QEvent::OrientationChange	208	The screens orientation has changes (QScreenOrientationChangeEvent).
QEvent::Paint	12	Screen update necessary (QPaintEvent).
QEvent::PaletteChange	39	Palette of the widget changed.
QEvent::ParentAboutToChange	131	The widget parent is about to change.
QEvent::ParentChange	21	The widget parent has changed.
QEvent::PlatformPanel	212	A platform specific panel has been requested.
QEvent::PlatformSurface	217	A native platform surface has been created or is about to be destroyed (QPlatformSurfaceEvent).
QEvent::Polish	75	The widget is polished.
QEvent::PolishRequest	74	The widget should be polished.
QEvent::QueryWhatsThis	123	The widget should accept the event if it has "What's This?" help (QHelpEvent).
QEvent::ReadOnlyChange	106	Widget's read-only state has changed (since Qt 5.4).
QEvent::RequestSoftwareInputPanel	199	A widget wants to open a software input panel (SIP).
QEvent::Resize	14	Widget's size changed (QResizeEvent).
QEvent::ScrollPrepare	204	The object needs to fill in its geometry information (QScrollPrepareEvent).
QEvent::Scroll	205	The object needs to scroll to the supplied position (QScrollEvent).
QEvent::Shortcut	117	Key press in child for shortcut key handling (QShortcutEvent).
QEvent::ShortcutOverride	51	Key press in child, for overriding shortcut key handling (QKeyEvent). When a shortcut is about to trigger, ShortcutOverride is sent to the active window. This allows clients (e.g. widgets) to signal that they will handle the shortcut themselves, by accepting the event. If the shortcut override is accepted, the event is delivered as a normal key press to the focus widget. Otherwise, it triggers the shortcut action, if one exists.
QEvent::Show	17	Widget was shown on screen (QShowEvent).
QEvent::ShowToParent	26	A child widget has been shown.
QEvent::SockAct	50	Socket activated, used to implement QSocketNotifier.
QEvent::StateMachineSignal	192	A signal delivered to a state machine (QStateMachine::SignalEvent).
QEvent::StateMachineWrapped	193	The event is a wrapper for, i.e., contains, another event (QStateMachine::WrappedEvent).
QEvent::StatusTip	112	A status tip is requested (QStatusTipEvent).
QEvent::StyleChange	100	Widget's style has been changed.
QEvent::TabletMove	87	Wacom tablet move (QTabletEvent).
QEvent::TabletPress	92	Wacom tablet press (QTabletEvent).
QEvent::TabletRelease	93	Wacom tablet release (QTabletEvent).
QEvent::TabletEnterProximity	171	Wacom tablet enter proximity event (QTabletEvent), sent to QApplication.
QEvent::TabletLeaveProximity	172	Wacom tablet leave proximity event (QTabletEvent), sent to QApplication.
QEvent::TabletTrackingChange	219	The Wacom tablet tracking state has changed (since Qt 5.9).
QEvent::ThreadChange	22	The object is moved to another thread. This is the last event sent to this object in the previous thread. See QObject::moveToThread().
QEvent::Timer	1	Regular timer events (QTimerEvent).
QEvent::ToolBarChange	120	The toolbar button is toggled on macOS.
QEvent::ToolTip	110	A tooltip was requested (QHelpEvent).
QEvent::ToolTipChange	184	The widget's tooltip has changed.
QEvent::TouchBegin	194	Beginning of a sequence of touch-screen or track-pad events (QTouchEvent).
QEvent::TouchCancel	209	Cancellation of touch-event sequence (QTouchEvent).
QEvent::TouchEnd	196	End of touch-event sequence (QTouchEvent).
QEvent::TouchUpdate	195	Touch-screen event (QTouchEvent).
QEvent::UngrabKeyboard	189	Item loses keyboard grab (QGraphicsItem only).
QEvent::UngrabMouse	187	Item loses mouse grab (QGraphicsItem, QQuickItem).
QEvent::UpdateLater	78	The widget should be queued to be repainted at a later time.
QEvent::UpdateRequest	77	The widget should be repainted.
QEvent::WhatsThis	111	The widget should reveal "What's This?" help (QHelpEvent).
QEvent::WhatsThisClicked	118	A link in a widget's "What's This?" help was clicked.
QEvent::Wheel	31	Mouse wheel rolled (QWheelEvent).
QEvent::WinEventAct	132	A Windows-specific activation event has occurred.
QEvent::WindowActivate	24	Window was activated.
QEvent::WindowBlocked	103	The window is blocked by a modal dialog.
QEvent::WindowDeactivate	25	Window was deactivated.
QEvent::WindowIconChange	34	The window's icon has changed.
QEvent::WindowStateChange	105	The window's state (minimized, maximized or full-screen) has changed (QWindowStateChangeEvent).
QEvent::WindowTitleChange	33	The window title has changed.
QEvent::WindowUnblocked	104	The window is unblocked after a modal dialog exited.
QEvent::WinIdChange	203	The window system identifer for this native widget has changed.
QEvent::ZOrderChange	126	The widget's z-order has changed. This event is never sent to top level windows.

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值