int main(int argc, char *argv[]) { QApplication a(argc, argv); MyTableView w; w.show(); return a.exec(); }
/****************************************************************************** * Returns the table view managed by this ParameterUI. ******************************************************************************/ QTableView* RefTargetListParameterUI::tableWidget(int tableWidgetHeight) { OVITO_ASSERT(!_viewWidget || qobject_cast<QTableView*>(_viewWidget)); if(!_viewWidget) { class MyTableView : public QTableView { private: int _tableWidgetHeight; public: MyTableView(int tableWidgetHeight) : QTableView(), _tableWidgetHeight(tableWidgetHeight) {} virtual QSize sizeHint() const override { return QSize(320, _tableWidgetHeight); } }; MyTableView* tableView = new MyTableView(tableWidgetHeight); tableView->setShowGrid(false); tableView->setSelectionBehavior(QAbstractItemView::SelectRows); tableView->setCornerButtonEnabled(false); tableView->verticalHeader()->hide(); tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); tableView->setSelectionMode(QAbstractItemView::SingleSelection); tableView->setWordWrap(false); tableView->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); _viewWidget = tableView; _viewWidget->setModel(_model); connect(_viewWidget->selectionModel(), &QItemSelectionModel::selectionChanged, this, &RefTargetListParameterUI::onSelectionChanged); } return qobject_cast<QTableView*>(_viewWidget); }
MyTableView* MainWindow::createTableView(TableModel* model) { MyTableView* retval = new MyTableView(); retval->setWindowTitle(model->getTitle()); retval->setObjectName(model->getTitle()); retval->setModel(model); retval->setTabKeyNavigation(true); connect(retval, &MyTableView::copyToClipboard, model, &TableModel::onCopyToClipboard); connect(retval, &MyTableView::pasteFromClipboard, model, &TableModel::onPasteFromClipboard); QFontMetrics metric(retval->font()); int textLineHeight = metric.lineSpacing()* 1.2; QHeaderView *verticalHeader = retval->verticalHeader(); verticalHeader->setSectionResizeMode(QHeaderView::Fixed); verticalHeader->setDefaultSectionSize(textLineHeight); this->addAsDockWidget(retval); return retval; }