QT
  • 来源: | 浏览: 475 | 评论: 2 | 时间: 2017-02-24 11:14:06
    Qt 中经常使用 Model-View 模型来创建列表等视图,这样设计程序结构的好处是能将数据部分和界面完全分离。其中 Model 负责数据的准备与加工,View 提供了具体的对外显示的 Widget,而 Delegate 用作在 View 上绘图的模块。而对于现代的图形程序设计,对动画效果的要求更多,需要这三个模块配合来创建动画效果。
  • 来源: | 浏览: 1204 | 评论: 0 | 时间: 2016-01-11 17:15:30
    QComboBox 的弹出列表如果非常长的话,会在上下两端加一个箭头来表示还有内容,但是因为没有对应的 ObjectName 这两个箭头的风格很不好调整,需要根据它的 ClassName 获取到对象之后,采用事件监听的方式捕获它的绘图方法。以 QComboBox 为例,可以采用这种方式去画Qt控件中所有的子面板,子对象,方便个性化修改样式。
  • 来源: | 浏览: 1561 | 评论: 1 | 时间: 2015-11-30 20:07:03
    准确的说,是“最后一个可视的主窗口被关闭时,UI线程将结束”。今天在调试一个程序的时候,程序会弹出一个 QFileDialog 供用户选择文件,但是发现当这个 Dialog 执行返回之后,整个程序都退出了,查阅了资料后发现,是 Qt 特意设置的。
  • 来源: | 浏览: 1759 | 评论: 0 | 时间: 2014-08-10 10:52:25
    从诺基亚手中收购Qt开发套件的Digia公司宣布,将成立一家独资子公司专注于Qt的开发。官方博客解释说,Qt有一个开源版本和一个商业版本,有一个开源网站qt-project.org和商业版本网站qt.digia.com,两者之间没什么互通,开源版本和商业版本的安装程序和软件包都不同。Digia称,这种情况有弊无利,就好象是自己人之间在互相竞争,而不是Qt与其它技术进行竞争。它现在决定结束这种局面,统一开源版本和商业版本,退役网站qt.digia.com。Digia说,qt-project.org四分之三的代码递交来自该公司雇员, Qt项目85%的开发费用是它支付的。
  • 来源: | 浏览: 9805 | 评论: 1 | 时间: 2014-08-09 14:19:38
    Qt默认是以动态链接库的方式编译和发布程序的,这样的好处是如果有多个程序使用了相同的库文件,那么操作系统只需要加载一份文件在内存中就可以了。不过,当我们发布自己的程序时,就不得不带上许多动态链接库文件,使得程序的总体积增加。在Windows环境下,Qt程序经常以静态编译链接的方式,将需要的库文件链接到程序内部,从而减小文件体积和依赖。
  • 来源: | 浏览: 2981 | 评论: 0 | 时间: 2014-07-25 18:05:21
    最近在使用 QGLWidget 时发现,虽然 QGLWidget 继承于 QWidget 类,但默认情况下如果使用 QGLWidget 类代替 QWidget 类而且重写了 keyPressEvent 后,虽然编译运行都没有问题可总是接收不到事件。在查阅了文档后发现问题出现在 Widget 获得焦点这里,默认情况下 QGLWidget 的焦点策略为“不获得焦点”,自然不会接收到按键事件,要使它能得到焦点,需要设置focusPolicy。
  • 来源: | 浏览: 4548 | 评论: 0 | 时间: 2014-07-23 16:43:36
    Qt中的QDrag类提供了MIME数据支持的拖放事件,使用拖放事件,用户可以更直观的移动和改变想在应用程序中使用的数据。无论是在桌面环境下还是平板电脑或其它设备中,使用拖放都可以使程序更加的方便和人性化。为了保证使用的数据可以在事件完成后被清理,QDrag事件需要实现在以QWidget为父类的元素上。本文以一个Demo实现了最常用的文件/文本拖放到应用程序的示例。
  • 来源: | 浏览: 3411 | 评论: 0 | 时间: 2014-04-20 10:39:09
    QThreadPool 是用來管理單個的 QThread 對象, 來控制固定有多個線程並發執行, 使得程序能更充分的使用計算機的資源, 提高程序運行效率.
  • 来源: | 浏览: 11846 | 评论: 11 | 时间: 2014-03-04 13:04:17
    Qt中的QListWidget可以实现一个列表,比如网页上经常出现的下拉列表框,其中一行就是一个ListItem,在添加时,常用的函数是QListWidget::addItem(QListWidgetItem * item),但这样只能添加QListWidgetItem这样的对象,如果想到像QQ等软件使用自定义的ListItem,一个简单的方法是自定义一个QWidget,然后使用QListWidget::setItemWidget(QListWidgetItem * item, QWidget * widget)来设置它的显示widget.
  • 来源: | 浏览: 5874 | 评论: 0 | 时间: 2014-02-15 22:21:21
    从QT5.1开始,就慢慢加入了对Android的支持,虽然在Android上一直是Java开发占大多数,但由于Qt的结构成熟,功能强大,笔者最近也尝试了一下Qt的嵌入式开发.Qt为手持设备提供了触摸事件,但必须显式的设置接收触摸事件,之后的事件捕获与绘图都和PC上面差不多了.