<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SlashCode &#187; qt</title>
	<atom:link href="http://davideaversa.it/slashcode/tag/qt/feed/" rel="self" type="application/rss+xml" />
	<link>http://davideaversa.it/slashcode</link>
	<description></description>
	<lastBuildDate>Thu, 03 May 2012 14:28:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Qt Creator IDE</title>
		<link>http://davideaversa.it/slashcode/2010/06/qt-creator-ide/</link>
		<comments>http://davideaversa.it/slashcode/2010/06/qt-creator-ide/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 13:26:44 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[qt]]></category>

		<guid isPermaLink="false">http://davideaversa.it/slashcode/?p=621</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2010/06/qt-creator-ide/"><img title="Qt Creator IDE" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/qtc1-150x150.png" alt="Qt Creator IDE"  width="200" height="200" /></a></div><br/>In questi giorni sto studiando abbastanza approfonditamente le Qt e non vi nascondo che mi sto lentamente innamorando di questo framework. Già lo apprezzavo per molti motivi, ma più scendo nel dettaglio più scopro una certa &#8220;poesia ingegneristica&#8221;. Oggi però non sono qui per parlarvi delle QT, bensì del recente rilascio della nuova versione di <a href='http://davideaversa.it/slashcode/2010/06/qt-creator-ide/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F06%2Fqt-creator-ide%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2010/06/qt-creator-ide/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Qt Creator IDE" data-url="http://davideaversa.it/slashcode/2010/06/qt-creator-ide/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><a href="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/qtc1.png"><img class="alignleft size-thumbnail wp-image-622" title="QTCreator - Welcome" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/qtc1-150x150.png" alt="" width="150" height="150" /></a></p>
<p>In questi giorni sto studiando abbastanza approfonditamente le <strong>Qt</strong> e non vi nascondo che mi sto lentamente innamorando di questo framework. Già lo apprezzavo per molti motivi, ma più scendo nel dettaglio più scopro una certa &#8220;poesia ingegneristica&#8221;. Oggi però non sono qui per parlarvi delle QT, bensì del recente rilascio della nuova versione di <strong>Qt Creator</strong>.</p>
<p><strong>Qt Creator 2 </strong>è l&#8217;ultima versione di un IDE multi-piattaforma dedicato alla programmazione in Qt. L&#8217;ambiente integra tutti i classici strumenti già noti ai programmatori Qt) in un unico ambiente integrato dotato di un editor, debug e interfacciamento ai più popolari sistemi di controllo di versione. Potete vedere un piccolo tour in questo video:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="320" height="193" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/U7yje3D1UM4&amp;color1=0x494900&amp;color2=0x4e9e00&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="320" height="193" src="http://www.youtube.com/v/U7yje3D1UM4&amp;color1=0x494900&amp;color2=0x4e9e00&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>QtCreator integra un editor piuttosto avanzato.</p>
<div id="attachment_623" class="wp-caption aligncenter" style="width: 310px"><a href="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/qtc2.png"><img class="size-medium wp-image-623" title="QtCreator - Editor" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/qtc2-300x211.png" alt="" width="300" height="211" /></a><p class="wp-caption-text">La finestra dell&#39;editor.</p></div>
<p style="text-align: center;">
<p>Anche QtDesigner è perfettamente integrato:</p>
<div id="attachment_624" class="wp-caption aligncenter" style="width: 310px"><a href="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/qtc3.png"><img class="size-medium wp-image-624" title="QtCreator - Design" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/qtc3-300x211.png" alt="" width="300" height="211" /></a><p class="wp-caption-text">QtDesigner all&#39;interno di QtCreator</p></div>
<p>E la documentazione completa del mondo Qt è accessibile con un semplice click.</p>
<div id="attachment_625" class="wp-caption aligncenter" style="width: 310px"><a href="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/qtc4.png"><img class="size-medium wp-image-625" title="QtCreator - Assistant" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/qtc4-300x211.png" alt="" width="300" height="211" /></a><p class="wp-caption-text">QtAssistant in QtCreator</p></div>
<p>QtCreator è disponibile nei repository delle maggiori distribuzioni anche se, al momento, è disponibile solamente la versione 1.3. Se avete fretta e voglia potete provare la versione 2 scaricandola da <a href="http://qt.nokia.com/products/developer-tools">qui</a>. La versione per linux è facilmente installabile eseguendo il file .bin che scaricherete. Potete anche installare QtCreator in locale senza cioè sporcare il sistema con un installazione &#8220;non ufficiale&#8221;.</p>
<p>QtCreator non è attualmente all&#8217;altezza di altri colossi degli IDE quali Eclipse o Visual Studio, ma la strada imboccata da Nokia sembra proprio quella di creare una valida e completa alternativa. I presupposti ci sono tutti, non ci resta che aspettare. <img src='http://davideaversa.it/slashcode/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=621&amp;md5=e7836945ad26daa6a17285c85ec071e7" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2010/06/qt-creator-ide/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F06%2Fqt-creator-ide%2F&amp;language=it_IT&amp;category=text&amp;title=Qt+Creator+IDE&amp;description=In+questi+giorni+sto+studiando+abbastanza+approfonditamente+le+Qt+e+non+vi+nascondo+che+mi+sto+lentamente+innamorando+di+questo+framework.+Gi%C3%A0+lo+apprezzavo+per+molti+motivi%2C+ma+pi%C3%B9+scendo...&amp;tags=ide%2Cnokia%2Cqt%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Buone nuove da MeeGo</title>
		<link>http://davideaversa.it/slashcode/2010/06/buone-nuove-da-meego/</link>
		<comments>http://davideaversa.it/slashcode/2010/06/buone-nuove-da-meego/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 09:54:25 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[Distribuzioni]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[meego]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[touch]]></category>

		<guid isPermaLink="false">http://davideaversa.it/slashcode/?p=619</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2010/06/buone-nuove-da-meego/"><img title="Buone nuove da MeeGo" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/splash-community-150x150.png" alt="Buone nuove da MeeGo"  width="200" height="200" /></a></div><br/>Tempo fa parlai molto bene di Moblin. Ora, come molti  già sapranno, Moblin è un progetto praticamente morto e risorto con il nome di MeeGo. MeeGo è il frutto della partnership di Nokia e Intel per la creazione di un sistema operativo che si adatti a tutta una categoria di device: netbook, tablet, connected tv e molto <a href='http://davideaversa.it/slashcode/2010/06/buone-nuove-da-meego/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F06%2Fbuone-nuove-da-meego%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2010/06/buone-nuove-da-meego/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Buone nuove da MeeGo" data-url="http://davideaversa.it/slashcode/2010/06/buone-nuove-da-meego/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><a href="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/splash-community.png"><img class="alignleft size-thumbnail wp-image-620" title="MeeGo" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/splash-community-150x150.png" alt="" width="150" height="150" /></a>Tempo fa parlai molto bene di <strong>Moblin</strong>. Ora, come molti  già sapranno, Moblin è un progetto praticamente morto e risorto con il nome di <strong>MeeGo</strong>. MeeGo è il frutto della partnership di <em>Nokia</em> e <em>Intel</em> per la creazione di un sistema operativo che si adatti a tutta una categoria di device: netbook, tablet, connected tv e molto altro. Il principale sistema grafico sono le Qt (di proprietà della Nokia), cosa che rende l&#8217;intera distribuzione più appetibile ai miei occhi.</p>
<p>Con il rilascio della versione 1.0, ancora molto cruda ma usabile, abbiamo potuto constatare come MeeGo ricalchi molto da vicino la grafica di Moblin. Tuttavia gira in rete il video della versione per tablet, molto zuccherosa, che mostra le principali caratteristiche del sistema facendo uso della tecnologia touch.</p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/QqeeQd-YNL0&#038;hl=it_IT&#038;fs=1&#038;color1=0x402061&#038;color2=0x9461ca"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/QqeeQd-YNL0&#038;hl=it_IT&#038;fs=1&#038;color1=0x402061&#038;color2=0x9461ca" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>Questo video mi ha lasciato molto affascinato sia per la fluidità delle animazioni sia per l&#8217;ottimo approccio di usabilità (senza testarlo personalmente è un giudizio affrettato, ma per ora voglio sbilanciarmi). La domanda che più mi viene spontanea è: come mai tutta questa differenza grafica fra la versione Netbook e quella tablet? Che verrà aggiornata anche la prima? Non lo so. Per ora bisogna aspettare.</p>
<p>Nel frattempo, chi volesse dilettarsi nella scrittura di applicazioni per MeeGo può già trovare SDK e tools di sviluppo all&#8217;interno della nuova versione di Qt Creator. Spero che questo video abbia fatto venire l&#8217;acquolina in bocca anche a voi.</p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=619&amp;md5=75298d2fd97981054a27c12833c43bae" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2010/06/buone-nuove-da-meego/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F06%2Fbuone-nuove-da-meego%2F&amp;language=it_IT&amp;category=text&amp;title=Buone+nuove+da+MeeGo&amp;description=Tempo+fa+parlai+molto+bene+di+Moblin.+Ora%2C+come+molti+%C2%A0gi%C3%A0+sapranno%2C+Moblin+%C3%A8+un+progetto+praticamente+morto+e+risorto+con+il+nome+di+MeeGo.+MeeGo+%C3%A8+il+frutto+della%C2%A0partnership%C2%A0di...&amp;tags=meego%2Cnokia%2Cqt%2Ctouch%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Qt: Segnali e Slot</title>
		<link>http://davideaversa.it/slashcode/2010/06/qt-segnali-e-slot/</link>
		<comments>http://davideaversa.it/slashcode/2010/06/qt-segnali-e-slot/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 22:32:19 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[Varie]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[signal]]></category>
		<category><![CDATA[slot]]></category>

		<guid isPermaLink="false">http://davideaversa.it/slashcode/?p=614</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2010/06/qt-segnali-e-slot/"><img title="Qt: Segnali e Slot" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/bat-signal-150x150.jpg" alt="Qt: Segnali e Slot"  width="200" height="200" /></a></div><br/>Molti conosceranno sicuramente le Librerie QT: esse sono infatti il principale tool-kit grafico della suite desktop KDE nonché di molti altre applicazioni e sistemi embedded. In quanto tali, quando si parla di Qt, molti pensano ad esse solamente come mere librerie grafiche, in realtà, tali librerie vanno ben oltre la semplice gestione e visualizzazione di <a href='http://davideaversa.it/slashcode/2010/06/qt-segnali-e-slot/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F06%2Fqt-segnali-e-slot%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2010/06/qt-segnali-e-slot/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Qt: Segnali e Slot" data-url="http://davideaversa.it/slashcode/2010/06/qt-segnali-e-slot/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><img class="alignleft size-thumbnail wp-image-615" title="bat signal" src="http://davideaversa.it/slashcode/wp-content/uploads/2010/06/bat-signal-150x150.jpg" alt="" width="150" height="150" /></p>
<div style="text-align: justify;">Molti conosceranno sicuramente le Librerie QT: esse sono infatti il principale tool-kit grafico della suite desktop KDE nonché di molti altre applicazioni e sistemi embedded. In quanto tali, quando si parla di Qt, molti pensano ad esse solamente come mere librerie grafiche, in realtà, tali librerie vanno ben oltre la semplice gestione e visualizzazione di finestre e widget: esse sono infatti una libreria che racchiude un gran numero di layer che semplificano lo sviluppo software in generale. In questo breve articolo infatti mostrerò uno dei tanti modi in cui l&#8217;uso delle librerie può Qt semplificare la vita agli sviluppatori: il meccanismo Meta-Object System (<em>moc</em>) e l&#8217;accoppiata <strong>signals</strong> e <strong>slots</strong>.</div>
<div style="text-align: justify;">Segnali (<em>signals</em>) e slot (<em>slots) </em>sono due elementi fondamentali della programmazione con le Qt. Essi permettono di legare insieme due oggetti senza che nessuno dei due sappia nulla dell&#8217;altro. È possibile, ad esempio, costruire due classi<em> </em>A e B e fare in modo che ad un evento di A corrisponda un azione di B e viceversa senza doversi minimamente preoccupare di inserire in A riferimenti di B (e rispettivamente in B riferimenti ad A).</div>
<div style="text-align: justify;">Un segnale è infatti un avviso emesso da un oggetto al verificarsi di determinate condizioni. Ad ogni segnale è collegato uno <em>slot</em> che non è nulla di diverso da una comune funzione C/C++: non appena è emesso il segnale X viene automaticamente eseguita la funzione Y.</div>
<div style="text-align: justify;">Per collegare un segnale ad uno slot si usa il comando</div>
<p><code class="codecolorer cpp dawn"><span class="cpp">connect<span style="color: #008000;">&#40;</span>sendre, SIGNAL<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">signal</span><span style="color: #008000;">&#41;</span>, receiver, SLOT<span style="color: #008000;">&#40;</span>slot<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></span></code></p>
<div style="text-align: justify;">dove <code class="codecolorer text dawn"><span class="text">sender</span></code> e <code class="codecolorer text dawn"><span class="text">receiver</span></code> sono puntatori a due oggetti (oggetti &#8220;qt&#8221; per la precisione) e <code class="codecolorer text dawn"><span class="text">signal</span></code> e <code class="codecolorer text dawn"><span class="text">slot</span></code> non sono altro che dichiarazioni di funzioni senza il nome dei parametri. Possiamo avere varie forme di connessioni:</div>
<div style="text-align: justify;">
<ul>
<li><strong>PIÙ SEGNALI COLLEGATI AD UN SOLO SLOT. </strong>In questo caso la stessa funzione viene lanciata in corrispondenza di due o più segnali differenti.</li>
<li><strong>UN SOLO SEGNALE COLLEGATO A PIÙ SLOT</strong><em><strong>. </strong></em>Viceversa, in questo caso, l&#8217;arrivo di un segnale avvia l&#8217;esecuzione di più funzioni. Tali funzioni vengono eseguite una dopo l&#8217;altra in un ordine indefinito (fate quindi molta attenzione alla sincronizzazione di tali funzioni).</li>
<li><strong>UN SEGNALE COLLEGATO AD UN SEGNALE.</strong> In questo caso l&#8217;arrivo di un segnale causa semplicemente il lancio di un nuovo segnale (che può essere la propagazione del primo o un segnale del tutto diverso).</li>
</ul>
<p>&#8220;Fantastico!&#8221; direte voi, ma cosa è necessario per poter usufruire di tale meraviglia? La cosa è ancora più semplice. Il primo requisito è che sia gli oggetti che lanciano e ricevono segnali sia quelli che definiscono gli slot  ereditino dalla classe <strong>QObject </strong>e definiscano al loro interno la macro <strong>Q_OBJECT</strong>. Secondo, quando connettiamo un segnale ad uno slot dobbiamo assicurarci che <strong>contengano lo stesso numero di parametri, dello stesso tipo e nello stesso ordine</strong>. Se le nostre classi rispondono a questi due requisiti siamo pronti ad utilizzare segnali e slot.</p>
<div style="text-align: justify;">Questo meccanismo è usato massicciamente nello sviluppo di applicazioni grafiche in Qt, tuttavia possiamo vedere dall&#8217;esempio seguente come esso possa essere applicato in classi che non hanno nulla a che vedere con il lato &#8220;grafico&#8221; delle Qt.</div>
<pre>
<div class="codecolorer-container cpp dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="cpp codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0000ff;">class</span> Impiegato <span style="color: #008080;">:</span> <span style="color: #0000ff;">public</span> QObject <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; Q_OBJECT<br />
&nbsp; &nbsp; <span style="color: #0000ff;">public</span><span style="color: #008080;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; Impiegato<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> miosalario <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">int</span> salario<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #0000ff;">const</span> <span style="color: #008000;">&#123;</span> <span style="color: #0000ff;">return</span> miosalario<span style="color: #008080;">;</span> <span style="color: #008000;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">public</span> slots<span style="color: #008080;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">void</span> setSalario<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> nuovo<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; signals<span style="color: #008080;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">void</span> salarioCambiato<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> nuovo<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">private</span><span style="color: #008080;">:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">int</span> miosalario<span style="color: #008080;">;</span><br />
<span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span><br />
<br />
<span style="color: #0000ff;">void</span> Impiegato<span style="color: #008080;">::</span><span style="color: #007788;">setSalario</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> nuovo<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>nuovo <span style="color: #000040;">!</span><span style="color: #000080;">=</span> miosalario<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; miosalario <span style="color: #000080;">=</span> nuovo<span style="color: #008080;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; emit salarioCambiato<span style="color: #008000;">&#40;</span>miosalario<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span><br />
&nbsp; &nbsp; <span style="color: #008000;">&#125;</span><br />
<span style="color: #008000;">&#125;</span></div></div>
</pre>
<div style="text-align: justify;">Da questo stralcio di codice possiamo ricavare due osservazioni interessanti. La prima è che le funzioni <em>slot</em> sono del tutto identiche a classiche funzioni C++ e questo significa che possono tranquillamente essere invocate nel modo tradizionale. Il secondo punto è l&#8217;introduzione di alcune nuove parole chiave come <em>signals, slots </em>e <em>emit</em>. Queste parole chiave in realtà non sono altro che macro definite nella libreria Qt ma che svolgono un ruolo molto importante nel Meta-Object System.</div>
<div style="text-align: justify;">Un altra cosa che è bene precisare è l&#8217;implementazione di <em>setSalario:</em> essa è infatti progettata in modo tale da cambiare solamente se <em>nuovo</em> è diverso da <em>miosalario </em>in modo tale da evitare che si cada in un ciclo infinito in caso di connessione ciclica (ad esempio connettere il segnale salarioCambiato ad un istanza di Impiegato).</div>
</div>
<div style="text-align: justify;">L&#8217;uso di questo meccanismo crea però un anello in più nella fase di compilazione. Per assicurare che il processo <em>moc</em> vada a buon fine è necessario generare il file di compilazione (<em>makefile</em>) tramita un applicazione ad-hoc: <strong>qmake</strong>. L&#8217;uso di qmake è eccessivamente semplice quindi non approfondirò l&#8217;uso di questo tool.</div>
<div style="text-align: justify;"></div>
<div style="text-align: justify;">A questo punto avete a disposizione uno strumento meravigliosamente efficiente per la comunicazione fra oggetti della vostra applicazione, sia essa con interfaccia grafica sia senza. Non vi resta che approfondire questa tecnologia con qualche manciata di tutorial.</div>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=614&amp;md5=6e22f23276641b5f410e0d43e2fbf99d" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2010/06/qt-segnali-e-slot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2010%2F06%2Fqt-segnali-e-slot%2F&amp;language=it_IT&amp;category=text&amp;title=Qt%3A+Segnali+e+Slot&amp;description=Molti+conosceranno+sicuramente+le+Librerie+QT%3A+esse+sono+infatti+il+principale+tool-kit+grafico+della+suite+desktop+KDE+nonch%C3%A9+di+molti+altre+applicazioni+e+sistemi+embedded.+In+quanto+tali%2C+quando+si...&amp;tags=qt%2Csignal%2Cslot%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Qt-Italia.org</title>
		<link>http://davideaversa.it/slashcode/2009/12/qt-italia-org/</link>
		<comments>http://davideaversa.it/slashcode/2009/12/qt-italia-org/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 21:18:03 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[Esterni]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[qt]]></category>

		<guid isPermaLink="false">http://davideaversa.it/slashcode/?p=519</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2009/12/qt-italia-org/"><img title="Qt-Italia.org" src="http://davideaversa.it/slashcode/wp-content/uploads/2009/11/qt-150x150.jpg" alt="Qt-Italia.org"  width="200" height="200" /></a></div><br/>Tempo fa vi segnalai che stavo  preparando una guida a Qt e Python. Poi è stato aperto Qt-Italia.org. Ho quindi deciso di collaborare direttamente con il  progetto e quindi, inserirò tutto il materiale sulle Qt all&#8217;interno del portale. Ovviamente, inserirò periodicamente anche qualcosa qui Il portale è nuovo ed esce da poco da una riorganizzazione <a href='http://davideaversa.it/slashcode/2009/12/qt-italia-org/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F12%2Fqt-italia-org%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2009/12/qt-italia-org/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Qt-Italia.org" data-url="http://davideaversa.it/slashcode/2009/12/qt-italia-org/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><img class="alignleft size-thumbnail wp-image-475" title="qt" src="http://davideaversa.it/slashcode/wp-content/uploads/2009/11/qt-150x150.jpg" alt="qt" width="150" height="150" />Tempo fa vi segnalai che stavo  preparando una guida a Qt e Python. Poi è stato aperto <a href="http://qt-italia.org/"><strong>Qt-Italia.org</strong></a>. Ho quindi deciso di collaborare direttamente con il  progetto e quindi, inserirò tutto il materiale sulle Qt all&#8217;interno del portale. Ovviamente, inserirò periodicamente anche qualcosa qui <img src='http://davideaversa.it/slashcode/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Il portale è nuovo ed esce da poco da una riorganizzazione generale del CMS. Tuttavia, ad ora, tutto sembra in ordine e quindi vi suggerisco di visitare il sito e iscrivervi al relativo forum.</p>
<p>Se amate le Qt o volete semplicemente farvi un idea delle loro potenzialità avete trovato il posto giusto.</p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=519&amp;md5=0a805ed42cd2de07196f6b4d87f8b7a5" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2009/12/qt-italia-org/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F12%2Fqt-italia-org%2F&amp;language=it_IT&amp;category=text&amp;title=Qt-Italia.org&amp;description=Tempo+fa+vi+segnalai+che+stavo%C2%A0+preparando+una+guida+a+Qt+e+Python.+Poi+%C3%A8+stato+aperto+Qt-Italia.org.+Ho+quindi+deciso+di+collaborare+direttamente+con+il%C2%A0+progetto+e+quindi%2C+inserir%C3%B2...&amp;tags=community%2Cpython%2Cqt%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Tv-Player &#8211; Da oggi in Qt</title>
		<link>http://davideaversa.it/slashcode/2009/11/tv-player-da-oggi-in-qt/</link>
		<comments>http://davideaversa.it/slashcode/2009/11/tv-player-da-oggi-in-qt/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 15:59:16 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[Esterni]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[radio]]></category>
		<category><![CDATA[streaming]]></category>
		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://davideaversa.it/slashcode/?p=487</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2009/11/tv-player-da-oggi-in-qt/"><img title="Tv-Player &#8211; Da oggi in Qt" src="http://davideaversa.it/slashcode/wp-content/uploads/2009/11/TV_head-150x150.jpg" alt="Tv-Player &#8211; Da oggi in Qt"  width="200" height="200" /></a></div><br/>Guardare le Tv e le Radio in streaming è sempre un problema, vuoi che richiedono plugin particolari, vuoi che Moonligth sta sempre cento passi dietro alla versione di Silverligth per Windows&#8230; fatto sta che non funziona mai niente. I più astuti di noi riescono a ricavarsi l&#8217;indirizzo del flusso web e a guardarselo con VLC. <a href='http://davideaversa.it/slashcode/2009/11/tv-player-da-oggi-in-qt/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F11%2Ftv-player-da-oggi-in-qt%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2009/11/tv-player-da-oggi-in-qt/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Tv-Player &#8211; Da oggi in Qt" data-url="http://davideaversa.it/slashcode/2009/11/tv-player-da-oggi-in-qt/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><img class="alignleft size-thumbnail wp-image-488" title="TV Head" src="http://davideaversa.it/slashcode/wp-content/uploads/2009/11/TV_head-150x150.jpg" alt="TV Head" width="150" height="150" />Guardare le Tv e le Radio in streaming è sempre un problema, vuoi che richiedono plugin particolari, vuoi che Moonligth sta sempre cento passi dietro alla versione di Silverligth per Windows&#8230; fatto sta che non funziona mai niente. I più astuti di noi riescono a ricavarsi l&#8217;indirizzo del flusso web e a guardarselo con VLC. Ma i nuovi utenti smadonnano ferocemente. E li capisco.</p>
<p>Così da qualche tempo era uscito un piccolo progetto amatoriale in bash per automatizzare questo processo. Il progetto in questione è <a href="http://tvplayersite.altervista.org/index.php">Tv-Player</a>. Poiché conosciamo tutti i limiti del bash mi sono incaricato di cotattare le persone che mantenevano questo progetto per proporgli una conversione totale in Python+Qt.</p>
<p>Posso annunciare fieramente che il progetto originale è appena stato portato interamente in Qt. Inoltre sto sviluppando un altra funzionalità molto carina che permetterà di avere una lista di tv e radio sempre aggiornata. Infatti la lista degli indirizzi non sarà più locale, ma remota e gestita dai ragazzi del team.</p>
<p>In pratica il programma si incarica di scaricare automaticamente l&#8217;ultima versione aggiornata della suddetta lista.</p>
<p>Tutto qua.</p>
<p>Se siete interessati al progetto andate pure numerosi a visitare il sito! <img src='http://davideaversa.it/slashcode/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>&#8212;</p>
<p>Foto by <a href="http://silentawakening.deviantart.com/">SilentAwakening</a> on DeviantArt</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<h1><small><small><a class="u" href="http://silentawakening.deviantart.com/">SilentAwakening</a></small></small></h1>
</div>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=487&amp;md5=ba195ecbaea74aad52ee91cf96eb250a" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2009/11/tv-player-da-oggi-in-qt/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F11%2Ftv-player-da-oggi-in-qt%2F&amp;language=it_IT&amp;category=text&amp;title=Tv-Player+%26%238211%3B+Da+oggi+in+Qt&amp;description=Guardare+le+Tv+e+le+Radio+in+streaming+%C3%A8+sempre+un+problema%2C+vuoi+che+richiedono+plugin+particolari%2C+vuoi+che+Moonligth+sta+sempre+cento+passi+dietro+alla+versione+di+Silverligth+per...&amp;tags=python%2Cqt%2Cradio%2Cstreaming%2Ctv%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Introduzione alle PyQT &#8211; Prefazione</title>
		<link>http://davideaversa.it/slashcode/2009/11/introduzione-alle-pyqt-prefazione/</link>
		<comments>http://davideaversa.it/slashcode/2009/11/introduzione-alle-pyqt-prefazione/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 06:00:12 +0000</pubDate>
		<dc:creator>THeK3nger</dc:creator>
				<category><![CDATA[TheSlashCodeProject]]></category>
		<category><![CDATA[guida]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[qt]]></category>

		<guid isPermaLink="false">http://davideaversa.it/slashcode/?p=474</guid>
		<description><![CDATA[<div><a href="http://davideaversa.it/slashcode/2009/11/introduzione-alle-pyqt-prefazione/"><img title="Introduzione alle PyQT &#8211; Prefazione" src="http://davideaversa.it/slashcode/wp-content/uploads/2009/11/qt-150x150.jpg" alt="Introduzione alle PyQT &#8211; Prefazione"  width="200" height="200" /></a></div><br/>Verrei farvi un regalo apprezzato. Mettere in piedi un&#8217;altra serie di guide oltre alle altre due principali (GAPG e Scheme) rischia di essere un azzardo. Ma, dato che sicuramente da febbraio avrò moolto tempo libero e che &#8220;parallelizzare un processo porta quasi sempre benefici&#8221; ho deciso di preparare una &#8220;mini serie&#8221; sulla programmazione grafica e <a href='http://davideaversa.it/slashcode/2009/11/introduzione-alle-pyqt-prefazione/' class='excerpt-more'>[...]</a>]]></description>
			<content:encoded><![CDATA[<div style="height:33px;" class="really_simple_share robots-nocontent snap_nopreview"><div class="really_simple_share_facebook_like" style="width:100px;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F11%2Fintroduzione-alle-pyqt-prefazione%2F&amp;layout=button_count&amp;show_faces=false&amp;width=100&amp;action=like&amp;colorscheme=light&amp;send=false&amp;height=27" 
						scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:27px;" allowTransparency="true"></iframe></div><div class="really_simple_share_google1" style="width:90px;"><div class="g-plusone" data-size="medium" data-href="http://davideaversa.it/slashcode/2009/11/introduzione-alle-pyqt-prefazione/" ></div></div><div class="really_simple_share_twitter" style="width:110px;"><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" 
						data-text="Introduzione alle PyQT &#8211; Prefazione" data-url="http://davideaversa.it/slashcode/2009/11/introduzione-alle-pyqt-prefazione/" 
						data-via=""  ></a></div></div>
		<div style="clear:both;"></div><p><img class="alignleft size-thumbnail wp-image-475" title="qt" src="http://davideaversa.it/slashcode/wp-content/uploads/2009/11/qt-150x150.jpg" alt="qt" width="150" height="150" />Verrei farvi un regalo apprezzato. Mettere in piedi un&#8217;altra serie di guide oltre alle altre due principali (GAPG e Scheme) rischia di essere un azzardo. Ma, dato che sicuramente da febbraio avrò moolto tempo libero e che &#8220;parallelizzare un processo porta quasi sempre benefici&#8221; ho deciso di preparare una &#8220;mini serie&#8221; sulla programmazione grafica e in particolare all&#8217;uso di <strong>Qt </strong>e <strong>Python</strong>.</p>
<p><strong>PERCHÉ QT?</strong></p>
<p>Le Qt, dal mio punto di vista, sono nettamente superiori alle Gtk per semplicità di uso, completezza, resa grafica e strumentazione. Inoltre le so usare molto meglio delle Gtk e quindi non rischio di dire troppe boiate. Terzo punto, le Qt sono stra-mega portabili e quindi questa guida può essere facilmente seguita anche da sviluppatori Win.</p>
<p><strong>PERCHÉ PYTHON?</strong></p>
<p>Le Qt sono nativamente scritte in C++ per ovvi motivi. Esistono wrapper per parecchi linguaggi ma, fra tutti, quello meglio riuscito è sicuramente quello per Python. Quindi, per non dovermi concentrare troppo su argomenti troppo tecnici ed estranei alle Qt di cui sarei costretto a parlare se usassi C++, ho scelto Python. Inoltre Python è <em>facile</em> ed è uno dei linguaggi di programmazione con cui molti nuovi arrivati cominciano a programmare.</p>
<p>Python è la scelta adatta. Inoltre da python vi sarà semplice passare al C++ in quanto sia i nomi delle classi Qt, sia i dati con cui lavoro sono pressocché identici.</p>
<p><strong>REQUISITI</strong></p>
<p>I requisiti per la guida sono:</p>
<ul>
<li>Conoscenza di Python a livello medio o medio-basso (ovvero conoscere tutti i costrutti base tipo if, for, def, while, liste, dizionari, tuple, etc&#8230;)</li>
<li>Familiarità con la programmazione a oggetti.</li>
<li>Familiarità con il terminale.</li>
<li>Cenni di Makefile.</li>
<li>Cenni di bash.</li>
</ul>
<p><strong>STRUMENTI</strong></p>
<p>Presenterò gli strumenti man mano che ci serviranno. Tuttavia la dotazione base che utilizzarò io sarà:</p>
<ul>
<li>KDevelop (o un qualsiasi altro editor/IDE)</li>
<li>PyUIC4</li>
<li>Qt-Designer</li>
<li>PyLint</li>
</ul>
<p>Oltre ad altre varie ed eventuali.</p>
<p><strong>COSA TRATTEREMO</strong></p>
<p>Gli argomenti si dislocheranno fra:</p>
<ul>
<li>Esempio di primo programma in Qt.</li>
<li>Presentazione dell&#8217;architettura della libreria Qt.</li>
<li>Presentazione di alcuni Widget comuni.</li>
<li>I Layout.</li>
<li>Gestione degli Eventi</li>
<li>I widget personalizzati</li>
</ul>
<p>Più altre cose che ancora non ho deciso. Ci metterò un po ad organizzarmi per bene il discorso.</p>
<p><strong>CONCLUSIONI</strong></p>
<p>Alla fine delle guida saprete costruirvi delle interfaccie più o meno complesse. Ovviamente non posso insegnarvi il senso estetico ma quello non mi sembra importante per ora. <img src='http://davideaversa.it/slashcode/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Datemi qualche feedback. Se ci sono persone interessate comincio lo sviluppo altrimenti lo lascio nella lista delle cose pendenti. <img src='http://davideaversa.it/slashcode/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
 <p><a href="http://davideaversa.it/slashcode/?flattrss_redirect&amp;id=474&amp;md5=162b52c48c2801b79c8636763544ca5b" title="Flattr" target="_blank"><img src="http://davideaversa.it/slashcode/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://davideaversa.it/slashcode/2009/11/introduzione-alle-pyqt-prefazione/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=thek3nger&amp;popout=1&amp;url=http%3A%2F%2Fdavideaversa.it%2Fslashcode%2F2009%2F11%2Fintroduzione-alle-pyqt-prefazione%2F&amp;language=it_IT&amp;category=text&amp;title=Introduzione+alle+PyQT+%26%238211%3B+Prefazione&amp;description=Verrei+farvi+un+regalo+apprezzato.+Mettere+in+piedi+un%26%238217%3Baltra+serie+di+guide+oltre+alle+altre+due+principali+%28GAPG+e+Scheme%29+rischia+di+essere+un+azzardo.+Ma%2C+dato+che+sicuramente+da...&amp;tags=guida%2Cpython%2Cqt%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>

