Python GUI QCore.Aplication 错误

Python GUI QCore.Aplication error

我尝试了各种解决这个问题的方法,并尝试根据其他示例修复代码,但最终我未能制作出可行的代码。虽然我确实知道它失败的原因,但我缺乏创建解决此错误的方法的技能。你能帮我使这段代码正常工作吗?

问题:

然后我按“'Duomenų apdorojimas'”并继续按“'Pavaizduoti signalą'”我收到错误消息:QCoreApplication::exec:事件循环已经运行。我尝试了各种解决方法,一些遗留代码留在了我的函数中。稍后我会整理和优化我的代码,我只需要知道如何正确地使用 GUI 来避免这个问题。如果需要,我会把整个程序和 txt 文件发给你,但这部分是必不可少的,这里会出现问题。

import os
import os.path
from pyqtgraph.Qt import QtGui, QtCore
import numpy as np
import pyqtgraph as pg
from tkinter import *
import tkinter.messagebox
import sys
from functools import partial
import matplotlib.pyplot as p

class Window(QtGui.QMainWindow):

def __init__(self):

    super(Window, self).__init__()
    self.setGeometry(50, 50, 500, 300)
    self.setWindowTitle("")
    self.setWindowIcon(QtGui.QIcon('pythonlogo.png'))

    openFile = QtGui.QAction("&Atverkite duomenų failą", self)
    openFile.setShortcut("Ctrl+Q")
    openFile.setStatusTip('Duomenų failas')
    openFile.triggered.connect(self.file_open)

    extractAction = QtGui.QAction("&Duomenys iš Arduino", self)
    extractAction.setShortcut("Ctrl+W")
    extractAction.setStatusTip('Prijunkite iš Arduino ateinančius duomenis')
    extractAction.triggered.connect(self.upload_usb)

    saveFile = QtGui.QAction("&Įšsaugoti failą", self)
    saveFile.setShortcut("Ctrl+E")
    saveFile.setStatusTip('Nurodykite failo direktoriją bei pavadinimą')
    saveFile.triggered.connect(self.file_save)

    quitFile = QtGui.QAction("&Išeiti", self)
    quitFile.setShortcut("Ctrl+R")
    quitFile.setStatusTip('Programa bus uždaryta')
    quitFile.triggered.connect(self.close_application)

    openEditor = QtGui.QAction("&Skaitytuvas", self)
    openEditor.setShortcut("Ctrl+T")
    openEditor.setStatusTip('Skaitytuvas visados įjungtas')
    openEditor.triggered.connect(self.editor)

    additionalData = QtGui.QAction("&Paciento duomenys", self)
    additionalData.setShortcut("Ctrl+A")
    additionalData.setStatusTip('Įveskite paciento amžiaus grupę')
    additionalData.triggered.connect(self.group)

    dataProcessing = QtGui.QAction("&Filtruoti signalą", self)
    dataProcessing.setShortcut("Ctrl+S")
    dataProcessing.setStatusTip('Bus atliekami signalo apdorojimo procesai')
    dataProcessing.triggered.connect(self.editor)

    showGraph = QtGui.QAction("&Pavaizduoti signalą", self)
    showGraph.setShortcut("Ctrl+D")
    showGraph.setStatusTip('Bus atvaizduotas šiuo metu turimas signalas')
    showGraph.triggered.connect(self.close_application)

    mainMenu = self.menuBar()

    fileMenu = mainMenu.addMenu('&Progamos funkcijos')
    fileMenu.addAction(openFile)
    fileMenu.addAction(extractAction)
    fileMenu.addAction(saveFile)
    fileMenu.addAction(quitFile)

    resultsMenu = mainMenu.addMenu("&Duomenų apdorojimas")
    resultsMenu.addAction(dataProcessing)
    resultsMenu.addAction(showGraph)

    editorMenu = mainMenu.addMenu("&Programos nustatymai")
    editorMenu.addAction(openEditor)
    editorMenu.addAction(additionalData)

    self.statusBar()
    self.home()

def openFile(self,n):
    print(n)

def home(self):
    self.show()

def close_application(self):
    graphics()
    sys.exit()

def run():
    app = QtGui.QApplication(sys.argv)
    GUI = Window()
    sys.exit(app.exec_())

run()

好吧,原来我试图在 graphics() 中打开 semi-new 程序。我发现了如何不创建 GUI。谢谢你的帮助,但我找到了解决办法。下一次我将 post 在 onedrive 或其他东西中编写代码,以便人们获得整个程序及其支持文档。