<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.programmingexamples.net/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.programmingexamples.net/w/index.php?action=history&amp;feed=atom&amp;title=Qt%2FModelView%2FQAbstractTableModel</id>
		<title>Qt/ModelView/QAbstractTableModel - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.programmingexamples.net/w/index.php?action=history&amp;feed=atom&amp;title=Qt%2FModelView%2FQAbstractTableModel"/>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/w/index.php?title=Qt/ModelView/QAbstractTableModel&amp;action=history"/>
		<updated>2026-05-04T09:42:20Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>http://www.programmingexamples.net/w/index.php?title=Qt/ModelView/QAbstractTableModel&amp;diff=4976&amp;oldid=prev</id>
		<title>Daviddoria: Created page with '==form.cpp== &lt;source lang=&quot;cpp&quot;&gt; #include &lt;QAbstractTableModel&gt; #include &lt;QtGui&gt;  #include &lt;iostream&gt; #include &lt;sstream&gt;  #include &quot;form.h&quot;   class MyTableModel : public QAbstrac…'</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/w/index.php?title=Qt/ModelView/QAbstractTableModel&amp;diff=4976&amp;oldid=prev"/>
				<updated>2011-11-02T19:52:33Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;#039;==form.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;QAbstractTableModel&amp;gt; #include &amp;lt;QtGui&amp;gt;  #include &amp;lt;iostream&amp;gt; #include &amp;lt;sstream&amp;gt;  #include &amp;quot;form.h&amp;quot;   class MyTableModel : public QAbstrac…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QAbstractTableModel&amp;gt;&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;sstream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class MyTableModel : public QAbstractTableModel&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
  MyTableModel();&lt;br /&gt;
  &lt;br /&gt;
  int rowCount(const QModelIndex&amp;amp; parent) const;&lt;br /&gt;
  int columnCount(const QModelIndex&amp;amp; parent) const;&lt;br /&gt;
  QVariant data(const QModelIndex&amp;amp; index, int role) const;&lt;br /&gt;
  QVariant headerData(int section, Qt::Orientation orientation, int role) const;&lt;br /&gt;
  &lt;br /&gt;
protected:&lt;br /&gt;
  std::vector&amp;lt;std::vector&amp;lt;float&amp;gt; &amp;gt; Columns;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Form::Form(QWidget *parent)&lt;br /&gt;
    : QWidget(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
  &lt;br /&gt;
  MyTableModel* model = new MyTableModel;&lt;br /&gt;
  this-&amp;gt;tableView-&amp;gt;setModel(model);&lt;br /&gt;
  &lt;br /&gt;
  this-&amp;gt;tableView-&amp;gt;resizeColumnsToContents();&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
MyTableModel::MyTableModel() : QAbstractTableModel()&lt;br /&gt;
{&lt;br /&gt;
  std::vector&amp;lt;float&amp;gt; column1;&lt;br /&gt;
  column1.push_back(10);&lt;br /&gt;
  column1.push_back(20);&lt;br /&gt;
  column1.push_back(30);&lt;br /&gt;
  column1.push_back(40);&lt;br /&gt;
  &lt;br /&gt;
  Columns.push_back(column1);&lt;br /&gt;
  &lt;br /&gt;
  std::vector&amp;lt;float&amp;gt; column2;&lt;br /&gt;
  column2.push_back(50);&lt;br /&gt;
  column2.push_back(60);&lt;br /&gt;
  column2.push_back(70);&lt;br /&gt;
  column2.push_back(80);&lt;br /&gt;
  &lt;br /&gt;
  Columns.push_back(column2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int MyTableModel::rowCount(const QModelIndex&amp;amp; parent) const&lt;br /&gt;
{&lt;br /&gt;
  return Columns[0].size();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int MyTableModel::columnCount(const QModelIndex&amp;amp; parent) const&lt;br /&gt;
{&lt;br /&gt;
  return Columns.size();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
QVariant MyTableModel::data(const QModelIndex&amp;amp; index, int role) const&lt;br /&gt;
{&lt;br /&gt;
  if(role == Qt::DisplayRole)&lt;br /&gt;
    {&lt;br /&gt;
    return Columns[index.column()][index.row()];&lt;br /&gt;
    }&lt;br /&gt;
  return QVariant::Invalid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
QVariant MyTableModel::headerData(int section, Qt::Orientation orientation, int role) const&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  if(role == Qt::DisplayRole)&lt;br /&gt;
    {&lt;br /&gt;
    std::stringstream ss;&lt;br /&gt;
    if(orientation == Qt::Horizontal)&lt;br /&gt;
      {&lt;br /&gt;
      ss &amp;lt;&amp;lt; &amp;quot;H_&amp;quot; &amp;lt;&amp;lt; section;&lt;br /&gt;
      return QString(ss.str().c_str());&lt;br /&gt;
      }&lt;br /&gt;
    else if(orientation == Qt::Vertical)&lt;br /&gt;
      {&lt;br /&gt;
      ss &amp;lt;&amp;lt; &amp;quot;V_&amp;quot; &amp;lt;&amp;lt; section;&lt;br /&gt;
      return QString(ss.str().c_str());&lt;br /&gt;
      }&lt;br /&gt;
    &lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
  return QVariant::Invalid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FORM_H&lt;br /&gt;
#define FORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Form : public QWidget, public Ui::Form&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
    Form(QWidget *parent = 0);&lt;br /&gt;
&lt;br /&gt;
  public slots:&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  Form form;&lt;br /&gt;
&lt;br /&gt;
  form.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;Form&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;Form&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;400&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;300&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;Form&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;layout class=&amp;quot;QGridLayout&amp;quot; name=&amp;quot;gridLayout&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item row=&amp;quot;0&amp;quot; column=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;widget class=&amp;quot;QTableView&amp;quot; name=&amp;quot;tableView&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;attribute name=&amp;quot;horizontalHeaderStretchLastSection&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;bool&amp;gt;true&amp;lt;/bool&amp;gt;&lt;br /&gt;
     &amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/widget&amp;gt;&lt;br /&gt;
   &amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item row=&amp;quot;1&amp;quot; column=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;widget class=&amp;quot;QPushButton&amp;quot; name=&amp;quot;btnUpdate&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;string&amp;gt;Update&amp;lt;/string&amp;gt;&lt;br /&gt;
     &amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/widget&amp;gt;&lt;br /&gt;
   &amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;/layout&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(AbstractTableModel)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs form.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(AbstractTableModel main.cpp form.h form.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(AbstractTableModel ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	</feed>