python界面问题

按钮绑定了这个函数,一点击就关闭,不知道为何

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QDialog;
import time



import ceshi009





from PyQt5.QtWidgets import QApplication, QMainWindow



if __name__ == '__main__':
    app = QApplication(sys.argv)

    MainWindow = QDialog()


    ui = ceshi009.Ui_Dialog()



    ui.setupUi(MainWindow)


    MainWindow.show()

    sys.exit(app.exec_())


def text():
    ui = ceshi009.Ui_Dialog()
    
    ui.textEdit.print("23423")

    print(2323)

















您需要将text()函数与按钮的信号clicked.connect()连接。同时,由于这个函数依赖于ui对象(即用户界面),您需要将其定义在创建和显示MainWindow之前。

下面是修改后的示例:

import sys
from PyQt5.QtWidgets import QDialog, QApplication
import ceshi009

def text():
    ui.textEdit.print("23423")
    print(2323)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    MainWindow = QDialog()
    ui = ceshi009.Ui_Dialog()
    ui.setupUi(MainWindow)

    # 将按钮的槽函数连接到text()函数
    ui.pushButton.clicked.connect(text)

    MainWindow.show()
    sys.exit(app.exec_())

请注意,ui变量是在创建窗口MainWindow之前定义的,因为它必须在该窗口中使用。而且,我们还将按钮的槽函数text()连接到按钮的clicked信号,以达到按按钮时执行text()函数的目的。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7535673
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:python创建一个学生对象,定义属性,算平均值,总成绩函数
  • 同时,你还可以查看手册:python- 位置或关键字参数 中的内容
  • 除此之外, 这篇博客: python使用文件路径时最好用绝对路径,而不是相对路径中的 总结 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    为了代码能跨平台运行,在需要使用路径的地方,特别是引用文件的时候,最好用绝对路径,而不要用相对路径。因为不同的启动项目的方式,找寻文件时的起始目录不同,可能导致找不到要加载的文件。

    参考链接1是python导包失败的讲解,和这个问题类似,都是找不到要加载的文件,注意P1、P2都要看

    python几种获取路径的方式的比较:参考链接2,参考链接3。

  • 您还可以看一下 CSDN就业班老师的Python爬虫技术和浏览器模拟,验证码识别视频教程课程中的 网络爬虫实战小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    问题解决方案:

    根据参考资料给出的代码,我们可以看到在按钮绑定的处理函数get_rank()中,每次点击按钮时都会调用其他函数进行排名计算和消息框输出。但是在排名计算函数和消息框输出函数中是否有对于GUI的关闭操作呢?

    我们需要检查一下这些函数中是否有对GUI的关闭操作,如果有的话需要修改。如果没有,则需要检查其他部分的代码,查找是否有其他地方对GUI进行了关闭操作。

    如果发现没有显式的关闭GUI的代码,可能是某些异常情况导致GUI关闭,需要进一步排查异常情况的出现原因。

    具体修改方式如下:

    1. 检查排名计算函数get_rank1(),确保其中没有关闭GUI的操作。可以在函数结尾处加入一行代码self.master.mainloop(),让GUI保持运行状态。

    2. 检查消息框输出函数,在函数结尾处添加代码self.master.mainloop(),保持GUI的运行状态。

    3. 检查异常情况是否导致GUI关闭,可以在程序中添加异常处理代码,以捕获异常并处理。例如:

    python try: # 程序代码 except Exception as e: messagebox.showerror('错误', e) # 添加其他处理代码,例如打印异常信息等

    通过以上修改和处理,可以避免在按钮点击时关闭GUI的问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^