QTableWidget에서 셀 테두리를 0px로 어떻게 설정할 수 있습니까? 가급적이면 셀 테두리의 어느면을 0으로 설정할 지 선택할 수 있지만 모두 0으로 설정하여 살 수 있습니다.QTableWidget 셀의 테두리를 0px로 설정
EDIT : 테두리를 0px로 설정하거나 색상을 흰색으로 설정하는 것이 좋습니다. QTableWidget의 setShowGrid 당신을 위해 작동 할 경우
QTableWidget에서 셀 테두리를 0px로 어떻게 설정할 수 있습니까? 가급적이면 셀 테두리의 어느면을 0으로 설정할 지 선택할 수 있지만 모두 0으로 설정하여 살 수 있습니다.QTableWidget 셀의 테두리를 0px로 설정
EDIT : 테두리를 0px로 설정하거나 색상을 흰색으로 설정하는 것이 좋습니다. QTableWidget의 setShowGrid 당신을 위해 작동 할 경우
에 관하여 스타일 시트 (예 : "QTableView::item { border-left: 1px solid black; }"
)
후자는 셀 내부 테두리이므로 그리드와 잘 정렬되지 않을 수 있습니다.
각 셀에 대해 테두리를 개별적으로 변경하려면 대표자 (예 : that answer)를 작성해야합니다.
* .H :
class FocusControlDelegate : public QStyledItemDelegate {
public:
FocusControlDelegate(QObject *parent = 0);
virtual void initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const;
void setFocusBorderEnabled(bool enabled);
protected:
bool f_focus_border_enabled;
};
검사는 다음과 같이 매끄러운 :이 도움이
tableWidget->setShowGrid(false);
희망, 당신은 QTableWidget::setShowGrid
모든 테두리를 해제하고, 그들 중 일부를 다시 활성화 할 수 있습니다
QSS를 위젯의 포커스 정책에 영향을 미치는와 사용하지 않고 나를 위해 그것을 할 수있는 가장 쉬운 방법은 다음과 같은 사용자 정의 대리자를 만들고 테이블을 설치하는 것입니다 * .cpp :
FocusControlDelegate::FocusControlDelegate(QObject *parent) : QStyledItemDelegate(parent) {
f_focus_border_enabled = false;
}
void FocusControlDelegate::setFocusBorderEnabled(bool enabled) {
f_focus_border_enabled = enabled;
}
void FocusControlDelegate::initStyleOption(QStyleOptionViewItem *option, const QModelIndex &index) const {
QStyledItemDelegate::initStyleOption(option, index);
if(!f_focus_border_enabled && option->state & QStyle::State_HasFocus)
option->state = option->state & ~QStyle::State_HasFocus;
}