По умолчанию диспетчер окон определяет начальное положение главного окна и обычно это центр экрана (по крайней мере, в Windows). Если вам нужна какая-то пользовательская позиция, вызовите QWidget::move
.
setDefaultSectionSize
- это функция QHeaderView
, поэтому вам нужно называть ее как table->horizontalHeader()->setDefaultSectionSize()
.
Вероятно, вы должны использовать table->horizontalHeader()->setHighlightSections (false)
но я не уверен.
1) Ну, это можно найти по google: (link)
QMainWindow w;
int width = w.frameGeometry().width();
int height = w.frameGeometry().height();
QDesktopWidget wid;
int screenWidth = wid.screen()->width();
int screenHeight = wid.screen()->height();
w.setGeometry((screenWidth/2)-(width/2),(screenHeight/2)-(height/2),width,height);
w.show();
2) Хорошо, если вы хотите использовать defaultSectionSize
для своего QTableView
, вы должны вызывать его из него горизонтальным заголовком заголовка, к которому можно получить доступ tableView->horizontalHeader()->setDefaultSectionSize (x)
.
Хотя, если вы захотите установить их по умолчанию не изначально в будущем, возможно, итерации всех из них с помощью tableView->model()->columnCount()
и вызовы setColumnWidth
на каждом из них будут выполняться.
3) Хорошо, как упоминалось в документации setHighlightSections
класса QHeaderView
отвечает за это, поэтому вы должны называть tableView->horizontalHeader()->setHighlightSections (false)
если вы не хотите, чтобы они были полужирным.
Да, вам нужно больше узнать о Qt Model/View, надеюсь, этот источник поможет вам. Это несколько примеров.