44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
from PySide6 import QtWidgets
|
|
from PySide6.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget
|
|
import sys
|
|
|
|
class MyWindow(QMainWindow):
|
|
def __init__(self):
|
|
super().__init__()
|
|
|
|
self.setWindowTitle("表格内容自动占满一整行")
|
|
|
|
central_widget = QWidget()
|
|
self.setCentralWidget(central_widget)
|
|
|
|
layout = QVBoxLayout(central_widget)
|
|
|
|
self.table_widget = QTableWidget()
|
|
layout.addWidget(self.table_widget)
|
|
|
|
# 设置列数和行数
|
|
self.table_widget.setColumnCount(3)
|
|
self.table_widget.setRowCount(2) # 两行
|
|
|
|
# 设置伸展性
|
|
self.table_widget.horizontalHeader().setSectionResizeMode(QtWidgets.QHeaderView.Stretch)
|
|
|
|
# 添加数据到表格中
|
|
self.add_data_to_table()
|
|
|
|
def add_data_to_table(self):
|
|
data = [("数据1", "数据2", "数据3"),
|
|
("数据4", "数据5", "数据6")]
|
|
|
|
for row, row_data in enumerate(data):
|
|
for col, cell_data in enumerate(row_data):
|
|
item = QTableWidgetItem(cell_data)
|
|
self.table_widget.setItem(row, col, item)
|
|
|
|
if __name__ == "__main__":
|
|
app = QApplication(sys.argv)
|
|
window = MyWindow()
|
|
window.setGeometry(100, 100, 600, 400)
|
|
window.show()
|
|
sys.exit(app.exec())
|