class Oper_Book_Window(QMainWindow):
    
    def __init__(self, privilege,parent=None):
        super(Oper_Book_Window, self).__init__(parent)
        self.privilege = privilege
        self.setWindowTitle('图书操作界面')
        self.resize(950, 300)

        # 创建界面控件
        self.label_bookname = QLabel('输入书名:')
        self.edit_bookname = QLineEdit()
        self.btn_search = QPushButton('搜索')
        self.table_book = QTableWidget(7,8)
        self.table_book.setHorizontalHeaderLabels(['图书ID','书名', '作者', '出版社', '出版日期', '价格', '是否借出','借书证号'])
        
        self.label_choose_oper = QLabel('选择操作')
        self.btn_add_book = QPushButton('添加图书')
        self.btn_alter_book = QPushButton('修改选中图书')
        self.btn_del_book = QPushButton('删除图书')
        self.btn_back_1 = QPushButton('返回')
        # 设置信号槽连接
        self.btn_search.clicked.connect(self.search_bookname)
        self.btn_add_book.clicked.connect(self.add_book)
        self.btn_alter_book.clicked.connect(self.alter_book)
        self.btn_del_book.clicked.connect(self.del_book)
        self.btn_back_1.clicked.connect(self.back_1)

        # 创建子布局
        layout2 = QVBoxLayout()
        layout2.addWidget(self.btn_add_book)
        layout2.addWidget(self.btn_alter_book)

        # 将子布局添加到父布局中
        layout1 = QGridLayout()
        layout1.addWidget(self.label_bookname, 0, 0)
        layout1.addWidget(self.edit_bookname, 1, 0)
        layout1.addWidget(self.btn_search, 2, 0)
        layout1.addWidget(self.btn_del_book, 2, 1)
        layout1.addWidget(self.table_book, 3, 0)
        layout1.addWidget(self.btn_back_1, 3, 1)
        layout1.addLayout(layout2, 1, 1)

        self.centralWidget = QWidget()
        self.centralWidget.setLayout(layout1)
        self.setCentralWidget(self.centralWidget)     

在上述代码中,我们创建了一个子布局 layout2,并将两个按钮添加到该布局中。然后将该子布局添加到父布局 layout1 的第二行第二列的位置。最后将父布局设置为窗口的中心控件。这样就可以在原有布局的基础上添加一个新的布局,使得按钮竖着排列。


原文地址: https://www.cveoy.top/t/topic/oQXv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录