社区
Qt
帖子详情
QTableWidgetItem类没有数据成员,那它的数据保存在哪里呢
szyangzhen
2010-08-28 11:29:43
我在手册上看QTableWidgetItem类没有数据成员,只有方法和类型,那它的数据保存在哪里呢?我初学请教下各位
...全文
506
7
打赏
收藏
QTableWidgetItem类没有数据成员,那它的数据保存在哪里呢
我在手册上看QTableWidgetItem类没有数据成员,只有方法和类型,那它的数据保存在哪里呢?我初学请教下各位
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
szyangzhen
2010-08-29
打赏
举报
回复
我意思是,qt参考手册列出的QTableWidgetItem的成员里面没有数据成员,如果用一个setData函数来设置数据,那这个数据保存哪了,该对象又没成员保存。
我们自己编写类不都会设个成员来保存数据么?
szyangzhen
2010-08-29
打赏
举报
回复
哦,明白了,谢谢各位
yanchong
2010-08-29
打赏
举报
回复
下面的是QTableWidgetItem,红色部分就是私有变量,楼主 QT助手里面的知识提供了借口具体的你可以去看qt的源文件,那里都有
class Q_GUI_EXPORT QTableWidgetItem
{
friend class QTableWidget;
friend class QTableModel;
public:
enum ItemType { Type = 0, UserType = 1000 };
QTableWidgetItem(int type = Type);
explicit QTableWidgetItem(const QString &text, int type = Type);
explicit QTableWidgetItem(const QIcon &icon, const QString &text, int type = Type);
QTableWidgetItem(const QTableWidgetItem &other);
virtual ~QTableWidgetItem();
virtual QTableWidgetItem *clone() const;
inline QTableWidget *tableWidget() const { return view; }
inline int row() const;
inline int column() const;
inline void setSelected(bool select);
inline bool isSelected() const;
inline Qt::ItemFlags flags() const { return itemFlags; }
void setFlags(Qt::ItemFlags flags);
inline QString text() const
{ return data(Qt::DisplayRole).toString(); }
inline void setText(const QString &text);
inline QIcon icon() const
{ return qvariant_cast<QIcon>(data(Qt::DecorationRole)); }
inline void setIcon(const QIcon &icon);
inline QString statusTip() const
{ return data(Qt::StatusTipRole).toString(); }
inline void setStatusTip(const QString &statusTip);
#ifndef QT_NO_TOOLTIP
inline QString toolTip() const
{ return data(Qt::ToolTipRole).toString(); }
inline void setToolTip(const QString &toolTip);
#endif
#ifndef QT_NO_WHATSTHIS
inline QString whatsThis() const
{ return data(Qt::WhatsThisRole).toString(); }
inline void setWhatsThis(const QString &whatsThis);
#endif
inline QFont font() const
{ return qvariant_cast<QFont>(data(Qt::FontRole)); }
inline void setFont(const QFont &font);
inline int textAlignment() const
{ return data(Qt::TextAlignmentRole).toInt(); }
inline void setTextAlignment(int alignment)
{ setData(Qt::TextAlignmentRole, alignment); }
inline QColor backgroundColor() const
{ return qvariant_cast<QColor>(data(Qt::BackgroundColorRole)); }
inline void setBackgroundColor(const QColor &color)
{ setData(Qt::BackgroundColorRole, color); }
inline QBrush background() const
{ return qvariant_cast<QBrush>(data(Qt::BackgroundRole)); }
inline void setBackground(const QBrush &brush)
{ setData(Qt::BackgroundRole, brush); }
inline QColor textColor() const
{ return qvariant_cast<QColor>(data(Qt::TextColorRole)); }
inline void setTextColor(const QColor &color)
{ setData(Qt::TextColorRole, color); }
inline QBrush foreground() const
{ return qvariant_cast<QBrush>(data(Qt::ForegroundRole)); }
inline void setForeground(const QBrush &brush)
{ setData(Qt::ForegroundRole, brush); }
inline Qt::CheckState checkState() const
{ return static_cast<Qt::CheckState>(data(Qt::CheckStateRole).toInt()); }
inline void setCheckState(Qt::CheckState state)
{ setData(Qt::CheckStateRole, state); }
inline QSize sizeHint() const
{ return qvariant_cast<QSize>(data(Qt::SizeHintRole)); }
inline void setSizeHint(const QSize &size)
{ setData(Qt::SizeHintRole, size); }
virtual QVariant data(int role) const;
virtual void setData(int role, const QVariant &value);
virtual bool operator<(const QTableWidgetItem &other) const;
#ifndef QT_NO_DATASTREAM
virtual void read(QDataStream &in);
virtual void write(QDataStream &out) const;
#endif
QTableWidgetItem &operator=(const QTableWidgetItem &other);
inline int type() const { return rtti; }
private:
int rtti;
QVector<QWidgetItemData> values;
QTableWidget *view;
QTableWidgetItemPrivate *d;
Qt::ItemFlags itemFlags;
};
szyangzhen
2010-08-29
打赏
举报
回复
为什么那个手册有的列出数据成员有的不列出有的列出,我开始也觉得是隐藏了成员,但有的又列出了数据成员,所以觉得迷惑
中才德创
2010-08-29
打赏
举报
回复
QPoint
,也看不到它的两个int型数据成员,但不代表没有。只是对外提供接口,读写数据成员罢了。
这样的优点,可以避开直接操作数据成员的风险。
List of All Members for QPoint
This is the complete list of members for QPoint, including inherited members.
QPoint ()
QPoint ( int, int )
isNull () const : bool
manhattanLength () const : int
rx () : int &
ry () : int &
setX ( int )
setY ( int )
x () const : int
y () const : int
operator*= ( qreal ) : QPoint &
operator+= ( const QPoint & ) : QPoint &
operator-= ( const QPoint & ) : QPoint &
operator/= ( qreal ) : QPoint &
szyangzhen
2010-08-29
打赏
举报
回复
哪位出来解释下啊
lefttime
2010-08-28
打赏
举报
回复
作为可见的名称, 可以直接通过setText()来设置;
如果还想附带其它数据的话, 可以通过setData()设置~``
朱老师QT系列课程-1.7.QT其他标准控件和布局控件
本课程是《朱老师QT完全学习系列课程》第1部分《QT上手》的第7个课程,本课程由2部分构成。一部分主要讲QT的Item类控件,包括ItemView类4个控件(QListView、QTreeView、QTableView、QColumnView),以及3个ItemWidget类控件(QListWidget、QTreeWidget、QTableWidget)。另一部分是qt的布局类控件,包括 (1)中央布局 CentralLayout(2)水平布局 QHBoxLayout 和 垂直布局 QVBoxLayout(3)格栅布局 QGridLayout(4)窗体布局 QFormLayout(5)分裂器布局 QSplitter,有水平和垂直2个方向(6)弹簧 Spacer,有水平和垂直2个方向
Qt4_子类化
QTableWidgetItem
子类化
QTableWidgetItem
Cell类这个类用作
保存
单元格的公式,并且它还重新实现了QTableWidgetem: :data()函数,Spreadsheet可以通过QTableWid-getItem::text()间接调用该函数,用它显示单元格公式的计算结果。 Cell类派生自
QTableWidgetItem
类。这个类被设计用于和Spreadsheet一起工作,但是它对类QTableWidglttem没有任何特殊的依赖关系,所以在理论上讲,它也可以用于任意的QTableWidget类中。 Ce
(转)4.6从类
QTableWidgetItem
派生(Subclassing
QTableWidgetItem
)
类Cell继承自
QTableWidgetItem
。这个类在Spreadsheet程序中工作良好,但是它没有特殊依赖,在理论上,它可以被用在任何QTableWidget类中。下面是头文件:#ifndef CELL_H#define CELL_H#include
QTableWidgetItem
>class Cell : public
QTableWidgetItem
{public:
4-6 继承类
QTableWidgetItem
(Subclassing
QTableWidgetItem
)
4-6 继承类
QTableWidgetItem
(Subclassing
QTableWidgetItem
)类Cell继承自
QTableWidgetItem
。这个类不但可以在Spreadsheet程序中工作良好,但是并不仅限于这个类,在理论上,它可以被用在任何QTableWidget子类中。下面是头文件:#ifndef CELL_H#define CELL_H#includ
创建
QTableWidgetItem
子类
创建
QTableWidgetItem
子类Cell类继承自
QTableWidgetItem
。这个类被设计用于Spreadsheet并能很好的工作,但它对该类没有特别的依赖,所以理伦上能用于所有QTableWidget。下面是它的头文件: #ifndef CELL_H#define CELL_H#include class Cell : public QTableWidge
Qt
16,240
社区成员
26,660
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章