示例#1
0
void ActionLogView::init()
{
  this->horizontalHeader()->setStretchLastSection( true ); // Растягивание последней секции до размеров виджета
  this->setSelectionBehavior(QAbstractItemView::SelectRows); // Выделяется вся строка
  this->horizontalHeader()->setHighlightSections(false); // Заголовки не должны выглядеть нажатыми
  this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); // Отключается горизонтальная прокрутка

  // Установка ширины и высоты окна
  int dialogWidth=int( 0.8 * (float)(find_object<MainWindow>("mainwindow")->width()) );
  int dialogHeight=int( 0.8 * (float)(find_object<MainWindow>("mainwindow")->height()) );
  setMinimumWidth( dialogWidth );
  setMinimumHeight( dialogHeight );
  resize( size() );

  // Установка ширины столбцов
  // this->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Interactive); // Interactive, ResizeToContents
  this->resizeColumnToContents(0);

  // Настройка области виджета для кинетической прокрутки
  setKineticScrollArea( qobject_cast<QAbstractItemView*>(this) );

  assemblyContextMenu();
  setContextMenuPolicy(Qt::CustomContextMenu);

  setupSignals();
}
void FindTableWidget::setupUI(void)
{
    findTableView=new QTableView(this);
    findTableView->setObjectName("findTableView");
    findTableView->setMinimumSize(1,1);
    findTableView->horizontalHeader()->hide();

// Установка высоты строки с принудительной стилизацией (если это необходимо),
// так как стилизация через QSS для элементов QTableView полноценно не работает
// У таблицы есть вертикальные заголовки, для каждой строки, в которых отображается номер строки.
// При задании высоты вертикального заголовка, высота применяется и для всех ячеек в строке.
    findTableView->verticalHeader()->setDefaultSectionSize ( findTableView->verticalHeader()->minimumSectionSize () );
    int height=mytetraConfig.getUglyQssReplaceHeightForTableView();
    if(height!=0)
        findTableView->verticalHeader()->setDefaultSectionSize( height );
    if(mytetraConfig.getInterfaceMode()=="mobile")
        findTableView->verticalHeader()->setDefaultSectionSize( getCalculateIconSizePx() );

// Устанавливается режим что могут выделяться только строки
// а не отдельный item таблицы
    findTableView->setSelectionBehavior(QAbstractItemView::SelectRows);

// Устанавливается режим что редактирование невозможно
    findTableView->setEditTriggers(QAbstractItemView::NoEditTriggers);

// Настройка области виджета для кинетической прокрутки
    setKineticScrollArea( qobject_cast<QAbstractItemView*>(findTableView) );
}