const short N = 9; QGridLayout *gridBoard = new QGridLayout(); QPushButton *cell[N][N]; for(int i = 0; i < N; i++) for(int j = 0; j < N; j++) { cell[i][j] = new QPushButton(); cell[i][j]->resize(40, 40); gridBoard->addWidget(cell[i][j], i, j); } QWidget *sudokuBoard = new QWidget(); sudokuBoard->setLayout(gridBoard);
class Forma: public QWidget{ Q_OBJECT ...protected: void resizeEvent(QResizeEvent *event); // перекрываешь виртуальный метод в классе формы};void Forma::resizeEvent(QResizeEvent *event){ // я так вручную выравнивал элементы при изменении размеров формы int width = event->size().width(); int height = event->size().height(); // tab 0 QRect rect = this->ui->tabWidget->geometry(); this->ui->tabWidget->setGeometry( rect.x(), rect.y(), width - 2, height - 35); // tab 1 rect = this->ui->lineEdit_CurrentTariffRevenues->geometry(); this->ui->lineEdit_CurrentTariffRevenues->setGeometry( rect.x(), rect.y(), width - 272, rect.height());}
const short N = 9; QTableView *tableView = new QTableView(); QTableWidget *table = new QTableWidget; table->setRowCount(N); table->setColumnCount(N); tableView->setModel(table->model()); tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); tableView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); tableView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); tableView->verticalHeader()->hide(); tableView->horizontalHeader()->hide(); for(int i = 0; i < N; i++) for(int j = 0; j < N; j++) { tableView->setRowHeight(i, 40); tableView->setColumnWidth(j, 40); } QWidget *window = new QWidget(); QVBoxLayout *mainVLayout = new QVBoxLayout(); mainVLayout->addWidget(tableView); window->setLayout(mainVLayout); window->show();
for(int i = 0; i < N; i++) for(int j = 0; j < N; j++) { tableView->setRowHeight(i, 40); tableView->setColumnWidth(j, 40); }