I tried the Cities example in the book C++ -GUI Programming with Qt 4 first ed., and i tried to set a header data string by using the row
cityModel.setHeaderData(0, Qt::Horizontal, QObject::tr("Name"));
in the main.cpp file.
The code can be compiled and run without any complaints but the added code has not any effects.
The code is
#include <QHeaderView>
#include <QTableView>
#include "citymodel.h"
int main(int argc, char *argv[])
{
cities << "Arvika" << "Boden" << "Eskilstuna" /*<< "Falun"
<< "Filipstad" << "Halmstad" << "Helsingborg" << "Karlstad"
<< "Kiruna" << "Kramfors" << "Motala" << "Sandviken"
<< "Skara" << "Stockholm" << "Sundsvall" << "Trelleborg" */ ;
layers << "l1" << "l2" << "l3" << "l4";
CityModel cityModel;
cityModel.setCities(cities);
cityModel.setLayers(layers);
tableView.setModel(&cityModel);
tableView.setAlternatingRowColors(true);
tableView.
setWindowTitle(QObject::tr("Cities"));
cityModel.
setHeaderData(0, Qt
::Horizontal,
QObject::tr("Name"));
// <------
tableView.show();
return app.exec();
}
#include <QHeaderView>
#include <QTableView>
#include "citymodel.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QStringList cities;
cities << "Arvika" << "Boden" << "Eskilstuna" /*<< "Falun"
<< "Filipstad" << "Halmstad" << "Helsingborg" << "Karlstad"
<< "Kiruna" << "Kramfors" << "Motala" << "Sandviken"
<< "Skara" << "Stockholm" << "Sundsvall" << "Trelleborg" */ ;
QStringList layers;
layers << "l1" << "l2" << "l3" << "l4";
CityModel cityModel;
cityModel.setCities(cities);
cityModel.setLayers(layers);
QTableView tableView;
tableView.setModel(&cityModel);
tableView.setAlternatingRowColors(true);
tableView.setWindowTitle(QObject::tr("Cities"));
cityModel.setHeaderData(0, Qt::Horizontal, QObject::tr("Name")); // <------
tableView.show();
return app.exec();
}
To copy to clipboard, switch view to plain text mode
How should you set and read header data in this case?
teele
Bookmarks