<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Qt - SIGNAL &amp; SLOT</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/6996.html</link>
    <description>Привет всем!&lt;br&gt;&lt;br&gt;Задача состоит в следующем:&lt;br&gt;&lt;br&gt;При изменении значения регулятора ( slider&#091; i &#093; ), нужно вызвать функцию.&lt;br&gt;Эта задача решается. Но. Ей нужно передать значение i. То есть:&lt;br&gt;&lt;br&gt;connect ( slider &#091; i &#093;, SIGNAL ( valueChanged ( int ) ), this, SLOT ( setvol ( int ) ) );&lt;br&gt;&lt;br&gt;Тут видно, что при сигнале изменения значения регулятора вызывается функция &lt;br&gt;setvol(), но как ей передать значение i, чтобы к примеру знать какой регулятор подвергся&lt;br&gt;изменению?&lt;br&gt;&lt;br&gt;Заранее спасибо за ответ.&lt;br&gt;</description>

<item>
    <title>Qt - SIGNAL &amp; SLOT (siegerstein)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/6996.html#3</link>
    <pubDate>Sat, 01 Dec 2007 07:04:04 GMT</pubDate>
    <description>&amp;gt;В слоте используй функцию sender(), что бы узнать - какой объект вызывает &lt;br&gt;&amp;gt;слот. А далее бери какие хочешь свойства этого объекта. &lt;br&gt;&lt;br&gt;Спасибо ws, не представляешь как мне помог.&lt;br&gt;Я в поиске sender() наткнулся на эту статью:&lt;br&gt;&lt;br&gt;http://qt.osdn.org.ua/signalmapper.html&lt;br&gt;&lt;br&gt;И сделал с помощью QSignalMapper.&lt;br&gt;У меня все работает!&lt;br&gt;&lt;br&gt;Вот пример, может кому-то пригодиться:&lt;br&gt;&lt;br&gt;...&lt;br&gt;signalMapper = new QSignalMapper(this);&lt;br&gt;...&lt;br&gt;for ( int i = 0; i &amp;lt; someVal; ++i ) &#123;&lt;br&gt;...&lt;br&gt;slider &#091; i &#093; = new QSlider;&lt;br&gt;...&lt;br&gt;connect ( slider &#091; i &#093;, SIGNAL ( valueChanged ( int ) ), lcd &#091; i &#093;, SLOT ( display ( int ) ) );&lt;br&gt;connect ( slider &#091; i &#093;, SIGNAL ( valueChanged ( int ) ), signalMapper, SLOT ( map (  ) ) );&lt;br&gt;signalMapper -&amp;gt; setMapping ( slider &#091; i &#093;, i );&lt;br&gt;connect (signalMapper, SIGNAL ( mapped ( int ) ), this, SLOT ( setvol ( int ) ) );&lt;br&gt;&lt;br&gt;....&lt;br&gt;&lt;br&gt;// Обрабатываем наше событие:&lt;br&gt; void MainWindow::setvol ( int sliderId ) &#123;&lt;br&gt;....&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;Спасибо за помощь. Тема закрыта.&lt;br&gt;</description>
</item>

<item>
    <title>Qt - SIGNAL &amp; SLOT (ws)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/6996.html#2</link>
    <pubDate>Sat, 01 Dec 2007 05:49:31 GMT</pubDate>
    <description>В слоте используй функцию sender(), что бы узнать - какой объект вызывает слот. А далее бери какие хочешь свойства этого объекта.&lt;br&gt;</description>
</item>

<item>
    <title>Qt - SIGNAL &amp; SLOT (siegerstein)</title>
    <link>https://www.opennet.me/openforum/vsluhforumID9/6996.html#1</link>
    <pubDate>Sat, 01 Dec 2007 01:07:23 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;connect ( slider &#091; i &#093;, SIGNAL ( valueChanged ( int ) &lt;br&gt;&amp;gt;), this, SLOT ( setvol ( int ) ) ); &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Тут видно, что при сигнале изменения значения регулятора вызывается функция &lt;br&gt;&amp;gt;setvol(), но как ей передать значение i, чтобы к примеру знать какой &lt;br&gt;&amp;gt;регулятор подвергся &lt;br&gt;&amp;gt;изменению? &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Заранее спасибо за ответ. &lt;br&gt;&lt;br&gt;Вроде понял. При помощи emit вполне реально передать что угодно.&lt;br&gt;Но опять таки, как перехватить сигнал чтобы вызвать emit?&lt;br&gt;&lt;br&gt;emit testFunc ( i );&lt;br&gt;connect ( slider &#091; i &#093;, SIGNAL ( valueChanged ( int ) ), ....... );&lt;br&gt;&lt;br&gt;Кто-то знает как это реализовать?&lt;br&gt;</description>
</item>

</channel>
</rss>
