【发布时间】:2016-01-26 23:06:27
【问题描述】:
我想要一个列表视图,就像 Windows 文件资源管理器中的一样:数据显示为列。所以我用下面的代码设置了一个QListView。
它看起来完全一样(见图)。
但有一个主要缺点:调整窗口大小时,换行速度很慢。相反,Window的文件浏览器非常快。
如何加快 QListView 中的包装速度?
h:
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
void resizeEvent(QResizeEvent *);
private:
Ui::MainWindow *ui;
};
cpp:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QStandardItemModel* m=new QStandardItemModel;
for (int i=100;i<1000;++i){
m->insertRow(i-100,new QStandardItem(QString::number(i).repeated(5)+" "));
}
ui->listView->setModel(m);
ui->listView->setWrapping(true);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::resizeEvent(QResizeEvent *e)
{
QMainWindow::resizeEvent(e);
ui->listView->setWrapping(ui->listView->isWrapping());
}
【问题讨论】: