Может быть, вы получаете перерыв, потому что вы не звонили setItem()
, чтобы установить элемент для ячейки (2, 2) перед использованием overviewTable->item(2,2)
. Как говорится в документе Qt,
QTableWidgetItem * QTableWidget :: элемент (интермедиат строка, столбец INT) Const
Возвращает элемент для данной строки и столбца, если один был установлен; в противном случае возвращает 0.
То есть, ваш overviewTable->item(2,2)
вероятно, возвращает 0, что вызывает в setFont()
вызова в Segmentation fault
.
Итак, ваши средства для установки шрифта совершенно правильные. Вам просто нужно сначала вызвать setItem(), как указывает ответ mosg.
ДОБАВЛЕНО:
если свой контекстуальный overviewTable
является QTableWidget
создан в Qt Designer, а затем в конструкторе двойным щелчком мыши на ячейке (только для входа в режим редактирования, не нужно на самом деле ничего вводить) будет имеют эффект вызова setItem()
для этой ячейки. Позже в вашем коде вы можете напрямую использовать функцию item()
без необходимости сначала позвонить setItem()
.
Что такое обзор? Это QTableWidget или QTableView? – mosg