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_())
好的,我可以提供一些参考代码来帮助你实现这个功能齐全的PyQt5界面。 首先,我们需要导入PyQt5库: ``` python from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * ``` 然后我们可以创建一个主窗口类,继承自QMainWindow: ``` python class MainWindow(QMainWindow): def __init__(self): super().__init__() # 设置窗口标题和大小 self.setWindowTitle("功能齐全的PyQt5界面") self.setGeometry(100, 100, 800, 600) # 添加背景图片 self.setStyleSheet("background-image: url(background.png); background-position: center;") # 添加背景音乐 self.player = QMediaPlayer() self.player.setMedia(QMediaContent(QUrl.fromLocalFile("background.mp3"))) self.player.setVolume(50) self.player.play() # 添加按钮 self.button = QPushButton("触发事件按钮", self) self.button.setGeometry(300, 200, 200, 50) self.button.clicked.connect(self.buttonClicked) def buttonClicked(self): # 按钮点击事件 QMessageBox.information(self, "提示", "按钮被点击了!") ``` 以上代码,我们添加了背景图片和背景音乐,以及一个触发事件按钮。当按钮被点击时,会触发buttonClicked函数,弹出一个提示框。 最后,我们可以创建一个应用程序对象,将主窗口显示出来: ``` python if __name__ == '__main__': app = QApplication(sys.argv) mainWindow = MainWindow() mainWindow.show() sys.exit(app.exec_()) ``` 在这个例子,我们将背景图片和背景音乐文件放在了程序运行的同一目录下,你可以根据自己的需要更改路径。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值