Stack Overflow на русском Asked by NEStenerus nester on November 24, 2021
У меня есть QTableWidget
, пользователь может менять размер столбцов при помощи мыши, и мне бы хотелось иметь возможность отловить какой-нибудь сигнал при изменении размеров какого-нибудь столбца.
Но в QTableWidget
нет никаких сигналов, которые бы делали то, что я хочу.
Где мне искать нужный сигнал?
Для отслеживания размера столбцов в заголовке таблицы, нужно обратиться к horizontalHeader
и подключиться к его сигналу sectionResized
:
Пример:
from PyQt5.QtWidgets import QApplication, QTableWidget
def _on_section_resized(logical_index: int, old_size: int, new_size: int):
print(logical_index, old_size, new_size)
app = QApplication([])
table = QTableWidget()
table.setColumnCount(5)
table.horizontalHeader().sectionResized.connect(_on_section_resized)
table.resize(600, 400)
table.show()
app.exec()
Если подключение сигнала будет к методу:
from PyQt5.QtWidgets import QApplication, QTableWidget, QMainWindow
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
table = QTableWidget()
table.setColumnCount(5)
table.horizontalHeader().sectionResized.connect(self._on_section_resized)
self.setCentralWidget(table)
def _on_section_resized(self, logical_index: int, old_size: int, new_size: int):
print(logical_index, old_size, new_size)
app = QApplication([])
mw = MainWindow()
mw.resize(600, 400)
mw.show()
app.exec()
Answered by gil9red on November 24, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP