社区
Qt
帖子详情
QTableWidgetItem类没有数据成员,那它的数据保存在哪里呢
szyangzhen
2010-08-28 11:29:43
我在手册上看QTableWidgetItem类没有数据成员,只有方法和类型,那它的数据保存在哪里呢?我初学请教下各位
...全文
519
7
打赏
收藏
QTableWidgetItem类没有数据成员,那它的数据保存在哪里呢
我在手册上看QTableWidgetItem类没有数据成员,只有方法和类型,那它的数据保存在哪里呢?我初学请教下各位
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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()设置~``
checktablewidget.rar
QTableWiget表头增加CheckBox可全选
qt4学习笔记
qt4学习笔记 1入门 2信号与槽函数 3事件处理机制 4基本版面配置 5常用图形组件 6常用API 7进阶议题
Qt4_子
类
化
QTableWidget
Item
子
类
化
QTableWidget
Item
Cell
类
这个
类
用作
保存
单元格的公式,并且它还重新实现了
QTableWidget
em: :data()函数,Spreadsheet可以通过QTableWid-get
Item
::text()间接调用该函数,用它显示单元格公式的计算结果。 Cell
类
派生自
QTableWidget
Item
类
。这个
类
被设计用于和Spreadsheet一起工作,但是它对
类
QTableWidglttem
没有
任何特殊的依赖关系,所以在理论上讲,它也可以用于任意的
QTableWidget
类
中。 Ce
4-6 继承
类
QTableWidget
Item
(Subclassing
QTableWidget
Item
)
4-6 继承
类
QTableWidget
Item
(Subclassing
QTableWidget
Item
)
类
Cell继承自
QTableWidget
Item
。这个
类
不但可以在Spreadsheet程序中工作良好,但是并不仅限于这个
类
,在理论上,它可以被用在任何
QTableWidget
子
类
中。下面是头文件:#ifndef CELL_H#define CELL_H#includ
(转)4.6从
类
QTableWidget
Item
派生(Subclassing
QTableWidget
Item
)
类
Cell继承自
QTableWidget
Item
。这个
类
在Spreadsheet程序中工作良好,但是它
没有
特殊依赖,在理论上,它可以被用在任何
QTableWidget
类
中。下面是头文件:#ifndef CELL_H#define CELL_H#include
QTableWidget
Item
>class Cell : public
QTableWidget
Item
{public:
Qt
16,819
社区成员
26,685
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章