Ich teste gerade Qt 4.4.3. (unter Windows mit Visual Studio 2008)
In einem Widget stelle ich eine QTable dar mit einem einfachem table model (siehe später). Probleme habe ich folgende zwei (vertikales scrollen):
a) Der Scrollbalken reagiert nicht richtig. Wenn ich mit der Maus versuche nach unten zu scrollen scrollt er - genau kann ich es nicht sagen - aber entweder macht er es je Item oder je Seite. Ich will aber einfach schnell in die Mitte ziehen - geht nicht!
b) Ich kann den Scrollbalken nicht nach oben ziehen um nach oben zu scrollen. Er scrollt trotzdem nach unten.
Das zweite Problem. Jede Zelle stelle so eine Box dar die wohl eine Checkbox sein soll. Meine Table is readonly und ich hab über den Typ der Zellen auch nichts gesagt. In den Beispielen der Dokumentation erscheinen die nicht. Was mach ich falsch (Checkbox soll weg)?
Also:
Code: Alles auswählen
class NewTableModel : public QAbstractTableModel
{
public:
int rowCount(const QModelIndex & parent = QModelIndex()) const
{ return 1000; }
int columnCount(const QModelIndex & parent = QModelIndex()) const
{ return 5; }
QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const
{
std::stringstream stream;
stream << "row=" << index.row()
<< ", col=" << index.column();
return QVariant(QString(stream.str().c_str()));
}
};//class NewTableModel
Code: Alles auswählen
NewMatrix::NewMatrix(QWidget* widget)
: QWidget(widget)
, _tableModel(new NewTableModel)
, _table(new QTableView(this))
{
_table->setModel(_tableModel);
_table->setAlternatingRowColors(true);
_table->setSelectionMode(QAbstractItemView::SelectionMode::NoSelection);
QBoxLayout* layout = new QBoxLayout(QBoxLayout::TopToBottom);
layout->addWidget(_table);
setLayout(layout);
}//NewMatrix