Qt events

Qt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt eventsQt events