0
私はメインウィンドウの存続期間中存続したい2つのカスタムモデルを持っています。どちらもカスタムツリーモデルのQtサンプルhttp://doc.qt.io/qt-5/qtwidgets-itemviews-simpletreemodel-example.htmlから構築されています。QMainWindowの有効期間中、カスタムQAbstractItemModelを有効にします。
これらは、 "local"と "remote"という名前のフォルダ/ディレクトリの階層を含むモデルです。
メインウィンドウの他のメンバ関数で参照できるようにインスタンス化できますか?どのように/私はそれらをMainWindowに対して静的にすることができますか、それとも良い方法がありますか?上記drescherjmさんのコメントパー
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
// Generate models.
TreeModel *model_remote = new TreeModel(MainWindow::load_file_list());
TreeModel *model_local = new TreeModel(localDirList);
// Display models in a QTreeView.
ui->treeView_remote->setModel(model_remote);
ui->treeView_local->setModel(model_local);
}
void MainWindow::some_function()
{
// Here is where I would like to work with my model(s).
}
ui-> treeView_remote-> model()は、モデルへのポインタです。 http://doc.qt.io/qt-5/qabstractitemview.html#model – drescherjm
代わりに、MainWindowクラスのメンバ変数にすることもできます。 – SGaist