sbw Blog - 程序设计
  • 来源: 石博文博客 | 浏览: 13305 | 评论: 1 | 时间: 2014-08-09
    Qt默认是以动态链接库的方式编译和发布程序的,这样的好处是如果有多个程序使用了相同的库文件,那么操作系统只需要加载一份文件在内存中就可以了。不过,当我们发布自己的程序时,就不得不带上许多动态链接库文件,使得程序的总体积增加。在Windows环境下,Qt程序经常以静态编译链接的方式,将需要的库文件链接到程序内部,从而减小文件体积和依赖。
  • 来源: 石博文博客 | 浏览: 5291 | 评论: 0 | 时间: 2014-07-25
    最近在使用 QGLWidget 时发现,虽然 QGLWidget 继承于 QWidget 类,但默认情况下如果使用 QGLWidget 类代替 QWidget 类而且重写了 keyPressEvent 后,虽然编译运行都没有问题可总是接收不到事件。在查阅了文档后发现问题出现在 Widget 获得焦点这里,默认情况下 QGLWidget 的焦点策略为“不获得焦点”,自然不会接收到按键事件,要使它能得到焦点,需要设置focusPolicy。
  • 来源: 石博文博客 | 浏览: 6595 | 评论: 0 | 时间: 2014-07-23
    Qt中的QDrag类提供了MIME数据支持的拖放事件,使用拖放事件,用户可以更直观的移动和改变想在应用程序中使用的数据。无论是在桌面环境下还是平板电脑或其它设备中,使用拖放都可以使程序更加的方便和人性化。为了保证使用的数据可以在事件完成后被清理,QDrag事件需要实现在以QWidget为父类的元素上。本文以一个Demo实现了最常用的文件/文本拖放到应用程序的示例。
  • 来源: 石博文博客 | 浏览: 6899 | 评论: 1 | 时间: 2014-07-13
    作为天天逛贴吧的小小技术宅,博主自从贴吧有签到功能以来就从来没放弃过对自动签到小程序的开发与使用。从最开始的Javascript脚本签到,再到后面搭建在BAE上,每天为上千个用户签到数万个贴吧的PHP签到系统,真是一点也停不下来。和PHP的贴吧签到系统不同,这次分享的是推荐用在小型服务器上的Python脚本。
  • 来源: 石博文博客 | 浏览: 5707 | 评论: 0 | 时间: 2014-04-20
    QThreadPool 是用來管理單個的 QThread 對象, 來控制固定有多個線程並發執行, 使得程序能更充分的使用計算機的資源, 提高程序運行效率.
  • 来源: 石博文博客 | 浏览: 2825 | 评论: 0 | 时间: 2014-03-22
    一根面条,从中间切一刀,可以得到2根,若先对折一下再切,可以得到3根,若对折2次再切,可以得到5根面条,现在问若对折10次后再切,可以得到几根面条?
  • 来源: 石博文博客 | 浏览: 3116 | 评论: 2 | 时间: 2014-03-22
    长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。
  • 来源: 石博文博客 | 浏览: 2907 | 评论: 0 | 时间: 2014-03-22
    A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。 要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌。 请填写出所有符合要求的排列中,字典序最小的那个。 例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。
  • 来源: 石博文博客 | 浏览: 2345 | 评论: 0 | 时间: 2014-03-22
    如果要在n个数据中挑选出第一大和第二大的数据(要求输出数据所在位置和值),使用什么方法比较的次数最少?我们可以从体育锦标赛中受到启发。8个选手的锦标赛,先两两捉对比拼,淘汰一半。优胜者再两两比拼...直到决出第一名。
  • 来源: 石博文博客 | 浏览: 20665 | 评论: 12 | 时间: 2014-03-04
    Qt中的QListWidget可以实现一个列表,比如网页上经常出现的下拉列表框,其中一行就是一个ListItem,在添加时,常用的函数是QListWidget::addItem(QListWidgetItem * item),但这样只能添加QListWidgetItem这样的对象,如果想到像QQ等软件使用自定义的ListItem,一个简单的方法是自定义一个QWidget,然后使用QListWidget::setItemWidget(QListWidgetItem * item, QWidget * widget)来设置它的显示widget.
  • 来源: 石博文博客 | 浏览: 3549 | 评论: 0 | 时间: 2014-03-02
    对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
    00000
    00001
    00010
    00011
    00100
    请按从小到大的顺序输出这32种01串。
  • 来源: 石博文博客 | 浏览: 3867 | 评论: 0 | 时间: 2014-03-02
    利用字母可以组成一些美丽的图形,下面给出了一个例子:
    ABCDEFG
    BABCDEF
    CBABCDE
    DCBABCD
    EDCBABC
    这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
  • 来源: 石博文博客 | 浏览: 3590 | 评论: 0 | 时间: 2014-02-28
    由于在AndroidArm架构下不方便编译一些库,所以经常使用交叉编译的方法,在Windows或者Linux下面编译用于嵌入式Arm架构的库文件.由于交叉编译时各种参数设置非常多,所以石博文写了一个基本通用的小脚本,用于快速配置一些参数,实际使用时,还需要按编译需求和系统环境作一些修改.