nurd 14 Asked:2024-02-09 22:01:05 +0000 UTC2024-02-09 22:01:05 +0000 UTC 2024-02-09 22:01:05 +0000 UTC 按钮中的按钮,PyQt 772 如何做这样的事情: 如何组织这个? python 1 个回答 Voted Best Answer S. Nick 2024-02-09T23:58:38Z2024-02-09T23:58:38Z 将第二个按钮的父级设置为第一个按钮,并将其(第二个按钮)安装在您需要的位置。 import sys from PyQt5 import QtWidgets, QtGui, QtCore from PyQt5.Qt import * class PushButton(QtWidgets.QPushButton): def __init__(self, *args, **kwargs): super(PushButton, self).__init__(*args, **kwargs) class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("NCM manager") self.setWindowIcon(QIcon('im.png')) self.setStyleSheet("background-color: rgb(42, 42, 40);") self.centralWidget = QWidget() self.setCentralWidget(self.centralWidget) self.pushButton_1 = PushButton('Button 1', size=QSize(620, 300)) # !!! self.pushButton_1.setStyleSheet( "background-color: #238b45; color: #edf8fb;") self.pushButton_1.clicked.connect(self.a) self.pushButton_1.setMinimumHeight(43) self.pushButton_1.setMinimumWidth(280) # ------------------------------------------------> vvvvvvvvvvvvvvvvv <-------- self.pushButton_2 = QPushButton('Button 2', self.pushButton_1) # !!! self.pushButton_2.setStyleSheet( "background-color: rgb(242, 142, 140); ; color: #005824;") self.pushButton_2.clicked.connect(self.b) layout = QVBoxLayout(self.centralWidget) layout.addWidget(self.pushButton_1) def a(self): print(f'clicked Button 1 {self.pushButton_1}') def b(self): print(f'clicked Button 2 {self.pushButton_2}') def resizeEvent(self, event): self.pushButton_2.move(self.pushButton_1.rect().width()-90, 10) # !!! if __name__ == '__main__': app = QApplication(sys.argv) w = MainWindow() w.resize(640, 300) w.show() sys.exit(app.exec_())
将第二个按钮的父级设置为第一个按钮,并将其(第二个按钮)安装在您需要的位置。