我想知道如何在主窗口中向表格显示结果。
我的节目很简单;用户在两行编辑中输入两个数字,一旦用户单击运行按钮,它将显示用户输入的数字之间的所有奇数。我可以在文本浏览器中显示结果。
我在插槽功能中添加该行,然后在文本浏览器中显示结果:
ui->textbrowser->setText(QString(%1).arg(result));
如何在表格视图中显示结果?我可以创建表格,但我不知道应该用什么来在窗口中显示结果。
答案 0 :(得分:0)
查看Qt的模型/视图教程
http://qt-project.org/doc/qt-4.8/modelview.html
从那里,一个例子(虽然它使用TreeView):
// modelview.cpp
#include <QTreeView>
#include <QStandardItemModel>
#include <QStandardItem>
#include "mainwindow.h"
const int ROWS = 2;
const int COLUMNS = 3;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
treeView = new QTreeView(this);
setCentralWidget(treeView);
standardModel = new QStandardItemModel ;
QList<QStandardItem *> preparedRow =prepareRow("first", "second", "third");
QStandardItem *item = standardModel->invisibleRootItem();
// adding a row to the invisible root item produces a root element
item->appendRow(preparedRow);
QList<QStandardItem *> secondRow =prepareRow("111", "222", "333");
// adding a row to an item starts a subtree
preparedRow.first()->appendRow(secondRow);
treeView->setModel(standardModel);
treeView->expandAll();
}
QList<QStandardItem *> MainWindow::prepareRow(const QString &first,
const QString &second,
const QString &third)
{
QList<QStandardItem *> rowItems;
rowItems << new QStandardItem(first);
rowItems << new QStandardItem(second);
rowItems << new QStandardItem(third);
return rowItems;
}