﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-我的程序人生-文章分类-qt</title><link>http://www.cppblog.com/yb1682003/category/4909.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 02 Jun 2008 14:53:56 GMT</lastBuildDate><pubDate>Mon, 02 Jun 2008 14:53:56 GMT</pubDate><ttl>60</ttl><item><title>QT 图片导入测试</title><link>http://www.cppblog.com/yb1682003/articles/29844.html</link><dc:creator>lancey</dc:creator><author>lancey</author><pubDate>Sun, 12 Aug 2007 13:05:00 GMT</pubDate><guid>http://www.cppblog.com/yb1682003/articles/29844.html</guid><wfw:comment>http://www.cppblog.com/yb1682003/comments/29844.html</wfw:comment><comments>http://www.cppblog.com/yb1682003/articles/29844.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/yb1682003/comments/commentRss/29844.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/yb1682003/services/trackbacks/29844.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;今天在家里做了一下导入图片到GUI里面的测试。开始用一个QLable setPixmap来做。但是就是没有办法成功，也不知这个方法是否可以用来加载图片。但是我是没有实现的。<br><br>最后自己定义了一个QWidget子类，在里面继承了QWidget的 paintEvent事件。<br>这样就可以用这个组件时就可以显示图片。后面又对里面的图片尺寸设置为该组件的大小。这样对调整界面时就会出现的图片里面是随着大小而在改变。<br><br>代码: Picture.h<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #008000">#</span><span style="COLOR: #008000">ifndef&nbsp;PICTURE_H_<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#define&nbsp;PICTURE_H_<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;&lt;QWidget&gt;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>class&nbsp;QPaintEvent;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>class&nbsp;QPixmap;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>class&nbsp;Picture</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">public&nbsp;QWidget<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>public</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Picture(const&nbsp;QString&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">f</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">QWidget&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">parent</span><span style="COLOR: #000000">=</span><span style="COLOR: #800000">0</span><span style="COLOR: #000000">);<br></span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>protected</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;paintEvent(QPaintEvent&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">event);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>private</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">QString&nbsp;filename;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;QPixmap&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">image;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>};<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">#</span><span style="COLOR: #008000">endif&nbsp;/*PICTURE_H_*/<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>Picture.cpp<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #008000">#</span><span style="COLOR: #008000">include&nbsp;&lt;QtGui&gt;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;"Picture.h"<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;&lt;iostream&gt;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">Picture</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">Picture(const&nbsp;QString&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">f</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">QWidget&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">parent)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">QWidget(parent)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>{&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;image</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">new&nbsp;QPixmap(f);&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;QSize&nbsp;size</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">image</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">size();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;setMinimumHeight(</span><span style="COLOR: #800000">50</span><span style="COLOR: #000000">);&nbsp;</span><span style="COLOR: #000000">//</span><span style="COLOR: #000000">该句是加上后对该组件显示出来里面的图片，不然就显示不了。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>void&nbsp;Picture</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">paintEvent(QPaintEvent&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">event){<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;QPainter&nbsp;</span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000">(this);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;QSize&nbsp;size</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">this</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">size();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;QPixmap&nbsp;img;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;img</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">image</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">scaled(size</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">width()</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">size</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">height()</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">Qt</span><span style="COLOR: #000000">::</span><span style="COLOR: #000000">IgnoreAspectRatio);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">print</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">drawPixmap(</span><span style="COLOR: #800000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #800000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">img);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>
<img src ="http://www.cppblog.com/yb1682003/aggbug/29844.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/yb1682003/" target="_blank">lancey</a> 2007-08-12 21:05 <a href="http://www.cppblog.com/yb1682003/articles/29844.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>