文件: 15-4.tar.gz 大小: 15KB 下载: 下载 //.h文件 #include QWidget> class QString; class QPushButton; class MyWidget:public QWidget { Q_OBJECT public: MyWidget(QWidget *parent = 0); public slots: void setnum(); private: QPushButton *b1; int num; QString str; }; //.c文件 #include QApplication> #include #include #include "main.h" void MyWidget::setnum() { num++...
by skyily - Linux文档专区 - 2009-04-17 08:37:00 阅读(1297) 回复(0)
前面我们说了qt提供的几个预定义model。但是,面对变化万千的需求,那几个model是远远不能满足我们的需要的。另外,对于qt这种框架来说,model的选择首先要能满足绝大多数功能的需要,这就是说,可能这个model中的某些功能你永远也不会用到,但是还要带着它,这样做的后果就是效率不会很高。所以,我们还必须要能够自定义model。 在我们真正的完成自定义model之前,先来看看在qt的model-view架构中的几个关键的概念。一个m...
还是继续前面的内容。前面我们分三次把自定义model说完了,其实主要还是那三个实例。在 model/view 架构中,与model同等重要的就是 view。 我们知道,在经典的 MVC 模型中,view用于向用户展示 model 的数据。但是,qt提供的不是 MVC 三层架构,而是一个 model/view 设计。这种设计并没有包含一个完整而独立的组件用于管理用户的交互。一般来说,view仅仅是用作对model数据的展示和对用户输入的处理,而不应该去做其他的工...
今天来说的是自定义model中最复杂的例子。这个例子同样也是出自C++ GUI Programming with qt 4, 2nd Edition这本书。 这个例子是将布尔表达式分析成一棵树。这个分析过程在离散数学中经常遇到,特别是复杂的布尔表达式,类似的分析可以比较方便的进行表达式化简、求值等一系列的计算。同样,这个技术也可以很方便的分析一个表达式是不是一个正确的布尔表达式。在这个例子中,一共有四个类: Node:组成树的节点; ...
前面的例子已经比较清楚的给出了自定义model的方法,就是要覆盖我们所需要的那几个函数就可以了。但是,前面的例子仅仅是简单的展示数据,也就是说数据时只读的。那么,如何能做到读写数据呢?那就要来看进来的例子了。这个例子也是来自C++GUI Programming with qt 4, 2nd Edition这本书的。 还是先来看代码吧: citymodel.h class CityModel : public QAbstractTableModel { Q_OBJECT public...
自定义一个窗口部件类:继承的是QWidget MyWidget.h #ifndef MYWIDGET_H #define MYWIDGET_H class MyWidget : public QWidget { public: MyWidget(QWidget *parent=0); }; #endif // MYWIDGET_H MyWidget.cpp #include #include "MyWidget.h" MyWidget::MyWidget(QWidget *parent):QWidget (parent) { setFixedSize(200,120); QPushButton *btn = new QPushButton("Exit",this); btn->setGeometry(60...
//customwnd.h #ifndef __CUSTOM_WINDOW_H__ #define __CUSTOM_WINDOW_H__ #include "qapplication.h" #include "qwidget.h" #include "messagebox" #include "qpopumenu.h" class CustomWnd:public QWidget { Q_OBJECT //如果要自定义槽和消息,必须在这里调用这个宏,否则自定义的槽和消息将不会起作用 public: CustomWnd(QWidget *parent = 0, const char *name = NULL); ~CustomWnd(); public sl...
请教大家一个问题,最近在弄电容屏和qt这块,一直都得不到解决,希望大神能帮下啊。 现状:系统是跑的linux,触摸屏是FT5206的电容屏,界面要用qt。arm-linux-gcc :4.5.1 qt:4.7.2 问题:qt的程序可以跑起来,移动鼠标也可以流畅的移动,但是点击鼠标时qt的按钮没反应(确定应该有反应的)。并一直打印: unknown mouse event type=3, code=18, value=1 unknown mouse event type=0, code=2, value=0 unknown mouse event type=0...