共 1,393 篇文章
共 6,621 篇文章及评论
- Association for Computing Machinery TechNews (ACM)
- Go Parallel! (Dr. Dobbs)
- HPCwire (Tabor Communications, Inc.)
- insideHPC (John West)
- Joe Duffy's Weblog (Microsoft)
- Microsoft Parallel Programming Development Center (Microsoft Germany)
- MultiCoreInfo.com
- scalability.org (Scalable Informatics)
- Software Dev Blog (Intel Germany)
- Soft Talk Blog (Intel United Kingdom)
- The Moth (Microsoft)
Archives
帖子来自 magic_180 
Meego大赛心得
作者: magic_180 (2 篇文章) 日期: 六月 18, 2011 在 11:08 下午
评论 (0)
关于我自己从比赛开始到现今的参赛体会大概可以概括成一下几个词语: 不自信——>迷茫——>认真努力学习——>充满信心 说到不自信,其实一开始,参加这个比赛是源于一个机缘巧合,团队里面的其他成员都是很出色的同学,都或这或那的懂得不少东西,而我比起来还是很有差距的。因此,一开始很怀疑自己是不是自己能够做些什么,是不是做得到什么,是不是会拖累整个团队。以致我都是心怀忐忑的去跟大家交流。不过现在来看,虽然自己还是有所欠缺,但不自信都只是庸人自扰罢了。 关于后来的迷茫,原因其实很简单:我们项目的确定花了不短的一段时间,在那段时间,大家都很困扰,想出一个个题材,然后又一个个否决掉。不过,这不短的一段困扰的时间我认为是很值得的,可以说是厚积而薄发吧,不同于那种一时热血就决定做的项目,我对于现在我们确定的项目,无论是市场需求还是项目可行性都是非常有信心的。 认真努力这个不谈,说到现在的充满信心,我想谈谈我们的团队:团队的核心我们的队长L是我很佩服的一个人,对于各种问题,他总是有自己很独特的视角去分析,总是可以提出很有价值的观点,而且处事沉稳冷静,是个出色的技术宅,可以说,有个好的队长算是成功的一小半吧;然后是成员S,S的特点是认真,一丝不苟,有毅力,能坚持的去做应该做的事情,技术方面也很不错,而且很细心;再说另一个成员L,他也有着S那样的认真劲,虽然平时比较沉默,但往往一开口说出来的东西都还是很有价值的,我们的项目题材就是出自主意;最后就是普普通通的成员我了,进入团队认识大家,我从大家身上看到了很多珍贵的东西,也慢慢学了不少东西,可以说,大家就是我充满的信心所在吧。 到现阶段,我们团队的成绩是可喜的,无论是个人学习,团队网测成绩,我们团队都是名列前茅在第一二阶段,成功的取得平板电脑的奖励,这对于我们也算是很好的鼓励了。在接下来的比赛过程中,我相信我们团队能取得更加优异的成绩,大家加油! 作者:袁硕 云南大学 流水游龙队 624065780@qq.com
分类: 全国大学生软件创新大赛专栏, 英特尔® 软件网络 2.0, 软件技术学习及认证
浅谈QT中窗口刷新事件
作者: magic_180 (2 篇文章) 日期: 五月 24, 2011 在 4:39 下午
评论 (1)
经过一个星期的项目初步开发,写此文就开发时遇到的一些常见问题,给出些资料和自己的观点,希望能给其他的初学者或者参赛的选手一点帮助,当然,也算是一种抛砖引玉,大家有什么好的技巧经验什么的,也能多多分享,借助这次比赛,我们共同进步~ 如果大家都是跟我一样,刚刚开始接触QT,开始开发QT的程序,肯定也会有很多不习惯的地方,今天我重点想谈的就是这么一个不习惯的地方——QT中窗口刷新事件。 对于窗体刷新事件,我主要谈一下paintevent的使用,我猜也许很多人初次使用这个的时候,也跟我一样一头雾水,搞不懂这个是在什么时候被调用的,现在我来简单说明一下。 void QWidget::paintEvent ( QPaintEvent * ) 如果不了解它的原理,任意找个例子程序你也是很难找到什么时候它被调用的痕迹的。 Paint这个事件只要是窗体部件需要被重绘了就会被调用,是由窗体系统产生的,但要求程序重画窗体部件的时候,事件循环就会从事件队列里面选中这个事件并把它分发到那个需要重画的widget中。并不是所有的paint事件都是由窗口系统产生的,通过repaint()或update()你也可以使用它。但是,需要知道的是,就算你很不耐烦,想直接调用paintEvent(),这是不可能的,因为paintEvent()函数是protected的(很可能访问不了)。它也绕开了任何存在的事件过滤器。因为这些原因,Qt提供了一个机制,直接sending事件而不是posting 。 不过,需要注意的是,有时候update()执行后不一定会直接转到paintEvent。为什么会这样?这是因为QT会把多个绘制事件自动的合并成一个来加快绘制速度。这一点,是不是也很不习惯呢,不过,我认为也是很有优势的一点,在实现我们的程序的时候,我们可以把所有的绘制窗体的那些语句函数什么的都放到paintEvent,通过各种如 if-else语句进行判断来绘制,这样对速度有很好的优化并且可以防止闪烁。 绘制事件还有一点也很需要注意,那就是:当绘制事件发生的时候,更新区域通常被擦除。如果需要在上次绘制的基础上进行绘制的话,我的做法是:用一个临时变量存着上次绘制后的图,然后在这个图上进行绘制,最后再直接显示这个图就行了。是个很笨的方法,如果大家有其他的更好的方法可以接受下。顺便提一下,通过QPaintEvent::erased()可以得知这个窗口部件是否被擦除。 Ps:写完查了一下,在WRepaintNoErase窗口部件标记被设置的时候不会擦除。 void QWidget::update () 这个事件上文中就提到了,用于更新窗体部件,它规划了所要处理的绘制事件。可以被QT优化,把多个绘制事件合并。所以推荐大家使用这个,而不是repaint()。几次调用update()的结果通常仅仅是一次paintEvent()调用,这个优化对性能还是很有好处的。 今天就介绍这么多,都是些基础的东西。大牛们就不用看了,呵呵,希望和我一样的初学者们,也都能介绍下自己开发中遇到的问题,大家一起分享讨论进步。 团队名称:流水游龙 ...
