Escondendo rótulos de linha
-
06-09-2019 - |
Pergunta
Eu estou usando Qt4 para criar uma tabela, usando a classe QTableWidget
.
O problema é: eu quero esconder os rótulos de linha (ou seja, os números). Eu só se preocupam com colunas. Eu quero ter isso:
(fonte: ldc.usb.ve )
Como posso fazer isso?
Solução
Eu estava pensando sobre a mesma coisa. No entanto, eu estava com preguiça de encontrar uma solução até que você perguntou. (Obrigado!!). De qualquer forma, aqui está o código que funcionou para mim:
table = QtGui.QTableWidget()
table.verticalHeader().setVisible(False)
Estes são realmente métodos de QTableView. Desde que você use um QTableWidget que é um filho de QTableView , tudo funciona.
Eu não tenho certeza se esta é a melhor maneira de fazer isso, mas o QHeaderView documentação recomenda este método. Para citar o PyQt4 docs-
Aparência
QTableWidget e QTableView criar cabeçalhos padrão. Se você quiser que os cabeçalhos para ser visível, você pode usar setVisible ().
Nota ??strong>: Cada cabeçalho processa os dados para cada seção própria, e não depende de um delegar. Como resultado, chamando setItemDelegate um header () função não vai ter efeito.
Outras dicas
Você também pode colocar seus dados em um objeto QTableView e ocultar o cabeçalho da linha vertical com um hide () função. Aqui está o código de exemplo,
QTableView *empview = new QTableView();
empview->verticalHeader()->hide();
Agora você pode apenas usar método :
setHeaderHidden(true);
herdada de QTreeView . Foi introduzido em Qt4.4.