在PyQt5中,可以使用QGridLayout布局管理器将表格添加到中心小部件,并保留菜单栏。下面是一个完整的示例代码:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QGridLayout, QWidget, QTableWidget, QTableWidgetItem
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Table Example")
self.setGeometry(100, 100, 500, 400)
# 创建表格
table = QTableWidget()
table.setColumnCount(3)
table.setRowCount(4)
table.setHorizontalHeaderLabels(["Name", "Age", "Gender"])
table.setItem(0, 0, QTableWidgetItem("John"))
table.setItem(0, 1, QTableWidgetItem("25"))
table.setItem(0, 2, QTableWidgetItem("Male"))
table.setItem(1, 0, QTableWidgetItem("Alice"))
table.setItem(1, 1, QTableWidgetItem("30"))
table.setItem(1, 2, QTableWidgetItem("Female"))
table.setItem(2, 0, QTableWidgetItem("Bob"))
table.setItem(2, 1, QTableWidgetItem("35"))
table.setItem(2, 2, QTableWidgetItem("Male"))
table.setItem(3, 0, QTableWidgetItem("Lisa"))
table.setItem(3, 1, QTableWidgetItem("28"))
table.setItem(3, 2, QTableWidgetItem("Female"))
# 创建中心小部件并设置布局
central_widget = QWidget()
layout = QGridLayout(central_widget)
layout.addWidget(table, 0, 0)
self.setCentralWidget(central_widget)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
在这个示例中,我们创建了一个QTableWidget,并设置了表格的行数、列数和表头。然后,我们使用setItem方法向表格中添加了一些数据。接下来,我们创建了一个中心小部件,并使用QGridLayout布局管理器将表格添加到中心小部件的(0, 0)位置。最后,我们将中心小部件设置为主窗口的中心小部件。
这样,我们就在保留菜单栏的情况下将表格添加到了PyQt5中的中心小部件中。
领取专属 10元无门槛券
手把手带您无忧上云