本文整理汇总了C++中QListView::setModel方法的典型用法代码示例。如果您正苦于以下问题:C++ QListView::setModel方法的具体用法?C++ QListView::setModel怎么用?C++ QListView::setModel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QListView
的用法示例。
在下文中一共展示了QListView::setModel方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
//! [0] //! [1]
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QSplitter *splitter = new QSplitter;
//! [2] //! [3]
QFileSystemModel *model = new QFileSystemModel;
model->setRootPath(QDir::currentPath());
//! [0] //! [2] //! [4] //! [5]
QTreeView *tree = new QTreeView(splitter);
//! [3] //! [6]
tree->setModel(model);
//! [4] //! [6] //! [7]
tree->setRootIndex(model->index(QDir::currentPath()));
//! [7]
QListView *list = new QListView(splitter);
list->setModel(model);
list->setRootIndex(model->index(QDir::currentPath()));
//! [5]
QItemSelectionModel *selection = new QItemSelectionModel(model);
tree->setSelectionModel(selection);
list->setSelectionModel(selection);
//! [8]
splitter->setWindowTitle("Two views onto the same file system model");
splitter->show();
return app.exec();
}
示例2: prepareProjectListView
void MainWindow::prepareProjectListView()
{
QListView *view = ui->centralWidget->findChild<QListView*>("projectLst");
QStandardItemModel *model = new QStandardItemModel;
view->setItemDelegate(new ProjectItemDelegate);
view->setModel(model);
}
示例3: editorKeyPress
void tst_QItemDelegate::editorKeyPress()
{
QFETCH(QString, initial);
QFETCH(QString, expected);
QStandardItemModel model;
model.appendRow(new QStandardItem(initial));
QListView view;
view.setModel(&model);
view.show();
QModelIndex index = model.index(0, 0);
view.setCurrentIndex(index); // the editor will only selectAll on the current index
view.edit(index);
QList<QLineEdit*> lineEditors = qFindChildren<QLineEdit *>(view.viewport());
QCOMPARE(lineEditors.count(), 1);
QLineEdit *editor = lineEditors.at(0);
QCOMPARE(editor->selectedText(), initial);
QTest::keyClicks(editor, expected);
QTest::keyClick(editor, Qt::Key_Enter);
QApplication::processEvents();
QCOMPARE(index.data().toString(), expected);
}
示例4: QWidget
Window::Window(QWidget *parent)
: QWidget(parent)
{
FileListModel *model = new FileListModel(this);
model->init();
QLabel *label = new QLabel(tr("&Directory:"));
QLineEdit *lineEdit = new QLineEdit;
label->setBuddy(lineEdit);
QListView *view = new QListView;
view->setModel(model);
view->setUniformItemSizes(true);
connect(lineEdit, SIGNAL(textChanged(QString)), model, SLOT(setDirPath(QString)));
connect(lineEdit, SIGNAL(editingFinished()), model, SLOT(list()));
/*
here: connect the signal of special io thread entry added to the slot entryadded of filelistmodel
*/
QGridLayout *layout = new QGridLayout;
layout->addWidget(label, 0, 0);
layout->addWidget(lineEdit, 0, 1);
layout->addWidget(view, 1, 0, 1, 2);
setLayout(layout);
setWindowTitle(tr("Fetch More Example"));
}
示例5: buildFileBrowser
void MainWindow::buildFileBrowser()
{
QString rootPath = qgetenv("HOME");
this->drivesModel->setFilter(QDir::NoDotAndDotDot | QDir::Dirs);
QTreeView *treeView = this->treeView = new QTreeView(this->ui->dockDir);
treeView->setModel(this->drivesModel);
treeView->setRootIndex(this->drivesModel->setRootPath(rootPath + "/../"));
treeView->hideColumn(1);
treeView->hideColumn(2);
treeView->hideColumn(3);
treeView->setEditTriggers(QAbstractItemView::NoEditTriggers);
treeView->setDragEnabled(true);
treeView->setDragDropMode(QAbstractItemView::DragOnly);
this->ui->dockDir->setWidget(treeView);
this->filesModel->setFilter(QDir::NoDotAndDotDot | QDir::Files);
QListView *listView = this->listView = new QListView(this->ui->dockFile);
listView->setModel(this->filesModel);
listView->setRootIndex(this->filesModel->setRootPath(rootPath));
listView->setEditTriggers(QAbstractItemView::NoEditTriggers);
listView->setDragEnabled(true);
listView->setSelectionMode(QAbstractItemView::ExtendedSelection);
this->ui->dockFile->setWidget(listView);
listView->show();
treeView->show();
}
示例6: doubleEditorNegativeInput
void tst_QItemDelegate::doubleEditorNegativeInput()
{
QStandardItemModel model;
QStandardItem *item = new QStandardItem;
item->setData(10.0, Qt::DisplayRole);
model.appendRow(item);
QListView view;
view.setModel(&model);
view.show();
QModelIndex index = model.index(0, 0);
view.setCurrentIndex(index); // the editor will only selectAll on the current index
view.edit(index);
QList<QDoubleSpinBox*> editors = qFindChildren<QDoubleSpinBox *>(view.viewport());
QCOMPARE(editors.count(), 1);
QDoubleSpinBox *editor = editors.at(0);
QCOMPARE(editor->value(), double(10));
QTest::keyClick(editor, Qt::Key_Minus);
QTest::keyClick(editor, Qt::Key_1);
QTest::keyClick(editor, Qt::Key_0);
QTest::keyClick(editor, Qt::Key_Comma); //support both , and . locales
QTest::keyClick(editor, Qt::Key_Period);
QTest::keyClick(editor, Qt::Key_0);
QTest::keyClick(editor, Qt::Key_Enter);
QApplication::processEvents();
QCOMPARE(index.data().toString(), QString("-10"));
}
示例7: QDialog
PrivateChatDialog::PrivateChatDialog(QWidget * parent)
: QDialog(parent)
{
m_name_w = new QLineEdit;
m_owner_w = new QLineEdit;
m_owner_w->setReadOnly(true);
QListView * listView = new QListView;
listView->setModel(&m_model);
QFormLayout * formLayout = new QFormLayout;
formLayout->addRow(tr("&Name : "), m_name_w);
formLayout->addRow(tr("&Owner : "), m_owner_w);
formLayout->addRow(tr("&Player : "), listView);
m_buttonBox = new QDialogButtonBox;
connect(m_buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
connect(m_buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
QVBoxLayout * mainLayout = new QVBoxLayout;
mainLayout->addLayout(formLayout);
mainLayout->addWidget(m_buttonBox);
setLayout(mainLayout);
setSizeGripEnabled(true);
}
示例8: main
//! [0]
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// Unindented for quoting purposes:
//! [1]
QStringList numbers;
numbers << "One" << "Two" << "Three" << "Four" << "Five";
QAbstractItemModel *model = new StringListModel(numbers);
//! [0] //! [1] //! [2] //! [3]
QListView *view = new QListView;
//! [2]
view->setWindowTitle("View onto a string list model");
//! [4]
view->setModel(model);
//! [3] //! [4]
model->insertRows(5, 7, QModelIndex());
for (int row = 5; row < 12; ++row) {
QModelIndex index = model->index(row, 0, QModelIndex());
model->setData(index, QString::number(row+1));
}
//! [5]
view->show();
return app.exec();
}
示例9: QWidget
Window::Window(QWidget *parent)
: QWidget(parent)
{
FileListModel *model = new FileListModel(this);
model->setDirPath(QLibraryInfo::location(QLibraryInfo::PrefixPath));
QLabel *label = new QLabel(tr("&Directory:"));
QLineEdit *lineEdit = new QLineEdit;
label->setBuddy(lineEdit);
QListView *view = new QListView;
view->setModel(model);
logViewer = new QTextBrowser;
logViewer->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred));
connect(lineEdit, SIGNAL(textChanged(QString)),
model, SLOT(setDirPath(QString)));
connect(lineEdit, SIGNAL(textChanged(QString)),
logViewer, SLOT(clear()));
connect(model, SIGNAL(numberPopulated(int)),
this, SLOT(updateLog(int)));
QGridLayout *layout = new QGridLayout;
layout->addWidget(label, 0, 0);
layout->addWidget(lineEdit, 0, 1);
layout->addWidget(view, 1, 0, 1, 2);
layout->addWidget(logViewer, 2, 0, 1, 2);
setLayout(layout);
setWindowTitle(tr("Fetch More Example"));
}
示例10: main
int main( int argc, char* argv[] )
{
QApplication app( argc, argv );
// Open the addressbook file in the working directory
QFile file("addressbook.csv");
if ( !file.open(QIODevice::ReadOnly|QIODevice::Text) )
return 1;
// Read its content into a string
QString addresses = QString::fromUtf8(file.readAll());
AddressbookModel model(addresses);
QListView listView;
listView.setModel(&model);
listView.setModelColumn(0);
listView.show();
QTreeView treeView;
treeView.setModel(&model);
treeView.show();
QTableView tableView;
tableView.setModel(&model);
tableView.show();
return app.exec();
}
示例11: QStandardItem
void tst_QItemDelegate::task257859_finalizeEdit()
{
QStandardItemModel model;
model.appendRow(new QStandardItem());
QListView view;
view.setModel(&model);
view.show();
QApplication::setActiveWindow(&view);
view.setFocus();
QTest::qWait(30);
QModelIndex index = model.index(0, 0);
view.edit(index);
QTest::qWait(30);
QList<QLineEdit *> lineEditors = qFindChildren<QLineEdit *>(view.viewport());
QCOMPARE(lineEditors.count(), 1);
QPointer<QWidget> editor = lineEditors.at(0);
QCOMPARE(editor->hasFocus(), true);
QDialog dialog;
QTimer::singleShot(500, &dialog, SLOT(close()));
dialog.exec();
QTRY_VERIFY(!editor);
}
示例12: main
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QObject *parent = &app;
QStringList numbers;
numbers << "One" << "Two" << "Three" << "Four" << "Five";
QAbstractItemModel *stringListModel = new QStringListModel(numbers, parent);
//! [0]
QSortFilterProxyModel *filterModel = new QSortFilterProxyModel(parent);
filterModel->setSourceModel(stringListModel);
//! [0]
QWidget *window = new QWidget;
//! [1]
QListView *filteredView = new QListView;
filteredView->setModel(filterModel);
//! [1]
filteredView->setWindowTitle("Filtered view onto a string list model");
QLineEdit *patternEditor = new QLineEdit;
QObject::
connect(patternEditor, SIGNAL(textChanged(const QString &)),
filterModel, SLOT(setFilterRegExp(const QString &)));
QVBoxLayout *layout = new QVBoxLayout(window);
layout->addWidget(filteredView);
layout->addWidget(patternEditor);
window->show();
return app.exec();
}
示例13: uintEdit
void tst_QItemDelegate::uintEdit()
{
QListView view;
QStandardItemModel model;
{
QStandardItem *data=new QStandardItem;
data->setEditable(true);
data->setData(QVariant((uint)1), Qt::DisplayRole);
model.setItem(0, 0, data);
}
{
QStandardItem *data=new QStandardItem;
data->setEditable(true);
data->setData(QVariant((uint)1), Qt::DisplayRole);
model.setItem(1, 0, data);
}
view.setModel(&model);
view.setEditTriggers(QAbstractItemView::AllEditTriggers);
const QModelIndex firstCell = model.index(0, 0);
QCOMPARE(firstCell.data(Qt::DisplayRole).userType(), static_cast<int>(QMetaType::UInt));
view.selectionModel()->setCurrentIndex(model.index(0, 0), QItemSelectionModel::Select);
view.edit(firstCell);
QSpinBox *sb = view.findChild<QSpinBox*>();
QVERIFY(sb);
sb->stepUp();
// Select another index to trigger the end of editing.
const QModelIndex secondCell = model.index(1, 0);
view.selectionModel()->setCurrentIndex(secondCell, QItemSelectionModel::Select);
QCOMPARE(firstCell.data(Qt::DisplayRole).userType(), static_cast<int>(QMetaType::UInt));
QCOMPARE(firstCell.data(Qt::DisplayRole).toUInt(), static_cast<uint>(2));
view.edit(secondCell);
// The first spinbox is deleted with deleteLater, so it is still there.
QList<QSpinBox*> sbList = view.findChildren<QSpinBox*>();
QCOMPARE(sbList.size(), 2);
sb = sbList.at(1);
sb->stepDown(); // 1 -> 0
sb->stepDown(); // 0 (no effect)
sb->stepDown(); // 0 (no effect)
// Select another index to trigger the end of editing.
view.selectionModel()->setCurrentIndex(firstCell, QItemSelectionModel::Select);
QCOMPARE(secondCell.data(Qt::DisplayRole).userType(), static_cast<int>(QMetaType::UInt));
QCOMPARE(secondCell.data(Qt::DisplayRole).toUInt(), static_cast<uint>(0));
}
示例14: hack
void ComboBox::hack()
{
QListView *v = new QListView( this );
v->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum );
v->setMinimumHeight( 50 );
v->setModel( model() );
setView( v );
}
示例15: reject
void Rozmowa::reject()
{
QListView* rozmowa = this->findChild<QListView*>("rozmowa");
model->messages[index].clear();
QStringList list= model->messages[index];
rozmowa->setModel(new QStringListModel(list));
message->clear();
QDialog::reject();
}