<?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>skhaz's blog &#187; qt c++ sql postgres</title>
	<atom:link href="http://www.skhaz.com/blog/tag/qt-c-sql-postgres/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.skhaz.com/blog</link>
	<description>code::blog</description>
	<lastBuildDate>Thu, 09 Apr 2009 14:28:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Por onde andas skhaz?</title>
		<link>http://www.skhaz.com/blog/por-onde-andas-skhaz/</link>
		<comments>http://www.skhaz.com/blog/por-onde-andas-skhaz/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 14:45:19 +0000</pubDate>
		<dc:creator>skhaz</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[qt c++ sql postgres]]></category>

		<guid isPermaLink="false">http://www.skhaz.com/blog/?p=20</guid>
		<description><![CDATA[Depois de um bom tempo sem postar, devido há inumeras coisas, como mudança de emprego, escolher um toolkit para criação de &#8216;GUI&#8217;s e aprende-lo, o fim de um namoro de 3 anos, e muita correria&#8230; enfim o bom filho a casa retorna.
A boa noticia é que aprendi muitas coisas novas (sem maldade xD) como as [...]]]></description>
			<content:encoded><![CDATA[<p>Depois de um bom tempo sem postar, devido há inumeras coisas, como mudança de emprego, escolher um toolkit para criação de &#8216;GUI&#8217;s e aprende-lo, o fim de um namoro de 3 anos, e muita correria&#8230; enfim o bom filho a casa retorna.</p>
<p>A boa noticia é que aprendi muitas coisas novas (sem maldade xD) como as bibliotecas <a href="http://trolltech.com/">Qt</a>, <a href="phonon.kde.org/">phonon</a>, <a href="http://webkit.org/">Webkit</a>, e aprendi mais sobre as que eu já sabia (<a href="http://www.boost.org/">boost</a> e stl), expressões regulares e até uma linguagem nova chamada <a href="http://www.ruby-lang.org/pt/">Ruby</a></p>
<p>Eu sempre achei a idea de usar combobox, checkbox, etc como filtro uma idea complicada, ter que ficar marcando e depois clicar em filtrar, entao pensei em algo assim, basta voce digitar qualquer atributo do material que já vinha tudo que for relevante, por exemplo &#8220;AL TR&#8221;, já retorna todos os alumunios que são trifilados. No video da para se ter uma idea do que eu escrevi (claro que não é nenhum google, é bem simples)</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="295" 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/IUH4IQg1C8s&amp;hl=pt-br&amp;fs=1" /><embed type="application/x-shockwave-flash" width="480" height="295" src="http://www.youtube.com/v/IUH4IQg1C8s&amp;hl=pt-br&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>E aqui o codigo responsável pela busca</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>18
19
20
21
22
23
24
25
26
27
28
29
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">void</span> ItemView<span style="color: #008080;">::</span><span style="color: #007788;">filterChanged</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">const</span> QString<span style="color: #000040;">&amp;</span> text<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	QString filter, query<span style="color: #008080;">;</span>
	QStringList list <span style="color: #000080;">=</span> text.<span style="color: #007788;">split</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot; &quot;</span>, QString<span style="color: #008080;">::</span><span style="color: #007788;">SkipEmptyParts</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> list.<span style="color: #007788;">size</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #000040;">++</span>i<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
		filter.<span style="color: #007788;">append</span><span style="color: #008000;">&#40;</span>QString<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot; %1 nome ILIKE '\%%2\%'&quot;</span><span style="color: #008000;">&#41;</span>.<span style="color: #007788;">arg</span><span style="color: #008000;">&#40;</span>
			list.<span style="color: #007788;">size</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">1</span> <span style="color: #000040;">&amp;&amp;</span> i <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #008080;">?</span> <span style="color: #FF0000;">&quot; AND &quot;</span> <span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot; &quot;</span><span style="color: #008000;">&#41;</span>.<span style="color: #007788;">arg</span><span style="color: #008000;">&#40;</span>list.<span style="color: #007788;">at</span><span style="color: #008000;">&#40;</span>i<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	model<span style="color: #000040;">-</span><span style="color: #000080;">&gt;</span>setFilter<span style="color: #008000;">&#40;</span>filter<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>Onde model é um ponteiro do tipo <a href="http://doc.trolltech.com/4.4/qsqltablemodel.html">QSqlTableModel</a>, e o metodo setFilter nada mais é do que a inserção da clausa <a href="http://www.w3schools.com/Sql/sql_where.asp">WHERE</a></p>
<p>Se voce quer aprender mais como a Qt implementa o padrão de projeto <a href="http://en.wikipedia.org/wiki/Model-view-controller">Model-View-Controller</a> leia <a href="http://doc.trolltech.com/4.4/model-view-programming.html">aqui</a></p>
<p>É isso ae, espero que gostem, qualquer duvida, critica e/ou sujestões já sabem</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skhaz.com/blog/por-onde-andas-skhaz/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->
