<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; дочернее окно захватывает фокус]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=39102&amp;type=atom" />
	<updated>2017-05-20T14:44:31Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=39102</id>
		<entry>
			<title type="html"><![CDATA[Re: дочернее окно захватывает фокус]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=455316#p455316" />
			<content type="html"><![CDATA[<p>Похоже, я нашёл в книге, как достигается желаемое,<br />попробую уже в понедельник.<br />Надо этот фильтр установить для всех объектов, сообщения<br />для которых надо получать. Также их советуют обрабатывать<br />в функции eventFilter(), но я не уверен, что это обязательно.</p><p>Пётр.</p>]]></content>
			<author>
				<name><![CDATA[Peter]]></name>
				<uri>https://linuxforum.ru/profile.php?id=5246</uri>
			</author>
			<updated>2017-05-20T14:44:31Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=455316#p455316</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[дочернее окно захватывает фокус]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=455313#p455313" />
			<content type="html"><![CDATA[<p>Здравствуйте!</p><p>Неожиданное явление в программе на Qt - в главной программе<br />установлен фильтр, но дочернее окон всё равно перехватывает<br />события и отобрать от него фокус не удаётся. Это в AStra Linux 1.4.</p><p>К сожалению, я столкнулся с неожиданным поведением системы<br />или программы. Именно, в программе создаётся производный<br />класс от QFrame, ему приписываются флаги, что он окно,<br />что у него нет рамки, что он прозрачный, а также<br />устанавливается атрибут, что он не получает фокус.<br />Это делается и при его создании и внутри него самого.<br />Но похоже, что последний атрибут не срабатывает.<br />В главной программе также делаются попытки лишить этот<br />объект фокуса и перевести его на себя, в ней установлен<br />фильтр командой installEventFilter(), но, когда этот объект<br />делается видимым командой show(), он захватывает все события<br />от клавиатуры, а фильтр, установленный в главной программе,<br />не получает ничего. Т.е. если создать в нём свою Event(),<br />то видно, что события получает она.</p><p>Хотелось бы знать, это нормальное поведение или нет?<br />Если нет, то что я упустил? </p><p>Это не критично, т.к. я собирался посылать эти события дочерней<br />программе из главной, а раз она сама их принимает, то это даже<br />удобнее, но это в моём случае, а вообще это нежелательно. <br />В книге я видел, как можно посылать события разным виджетам,<br />но не помню, годится это для моего случая или нет.</p><p>Пётр.</p>]]></content>
			<author>
				<name><![CDATA[Peter]]></name>
				<uri>https://linuxforum.ru/profile.php?id=5246</uri>
			</author>
			<updated>2017-05-20T14:16:04Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=455313#p455313</id>
		</entry>
</feed>
