1. 程式人生 > >PyQt5在已執行介面中通過事件觸發新增新的按鈕

PyQt5在已執行介面中通過事件觸發新增新的按鈕

說多了都是淚,我想在原有的介面中,通過事件觸發新增一個按鈕,查了幾個小時都沒有我想要的,全是點選按鈕建立一個新的視窗,結果我突然想到以前Java的個語句,結果。。。成功了!!!所以寫下此篇,希望能幫到正在苦惱的你。
上程式碼:

from PyQt5.QtWidgets import QWidget, QApplication, QPushButton, QFrame
import sys

class ui(QWidget):
    def __init__(self):
        super().__init__()
        self.show_ui()


    def show_ui(self, y = 50):
        self.pu = QPushButton(self)
        self.pu.setText('sdf')
        self.pu.setGeometry(50, y, 100, 50)


    def keyPressEvent(self, QKeyEvent): #鍵盤觸發
        self.show_ui(70)
        self.pu.setVisible(True) # 只有設定為True 才能顯示  之前預設都是顯示的  但是在這新增就預設不顯示了
        print('sdf')   #驗證事件是否觸發


if __name__=='__main__':
    app = QApplication(sys.argv)
    u = ui()
    u.show()
    sys.exit(app.exec_())