User interface Python GUI QCore.application错误
我曾尝试过解决这个问题的各种方法,并试图根据其他示例修复代码,但最终未能生成可行的代码。虽然我确实知道它失败的原因,但我缺乏创建解决此错误的方法的技能。你能帮我使这个代码正常工作吗 问题是: 然后我按下“Duomenųapdorojimas”并继续按下“Pavaizduoti信号ą”,我得到的错误是:QCoreApplication::exec:事件循环已在运行。我尝试了各种解决方法,一些遗留代码留在了我的函数中。稍后我会整理和优化我的代码,我只需要知道如何正确使用GUI来避免这个问题。如果需要,我会发送给你整个程序的txt文件,但这一部分是必不可少的,这里出现的问题User interface Python GUI QCore.application错误,user-interface,pyqt,pyqtgraph,qcoreapplication,User Interface,Pyqt,Pyqtgraph,Qcoreapplication,我曾尝试过解决这个问题的各种方法,并试图根据其他示例修复代码,但最终未能生成可行的代码。虽然我确实知道它失败的原因,但我缺乏创建解决此错误的方法的技能。你能帮我使这个代码正常工作吗 问题是: 然后我按下“Duomenųapdorojimas”并继续按下“Pavaizduoti信号ą”,我得到的错误是:QCoreApplication::exec:事件循环已在运行。我尝试了各种解决方法,一些遗留代码留在了我的函数中。稍后我会整理和优化我的代码,我只需要知道如何正确使用GUI来避免这个问题。如果需要
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()打开一个半新的程序。我发现了如何不创建GUI。谢谢你们的帮助,但我已经找到了解决办法。下一次我将在onedrive或其他地方发布代码,以便人们获得整个程序及其支持文档。graphics()的功能是什么?graphics()是一个打开单独图形窗口的函数。这就是问题的症结所在,因为这里的程序崩溃是因为我试图打开第二个QCore.Application循环或其他什么。嗯,如果问题的解决方案不清楚,我想我会发布整个代码,而不是让你编译。错误信息似乎很清楚。在某个地方,您的代码再次调用
QApplication.exec()
(注意,第一个调用在run
函数中)。这大概发生在graphics()
中。在不知道什么是图形
的情况下,除了鼓励您进一步了解QApplication
实例并重构您的应用程序,以避免尝试创建2个和启动2个事件循环之外,我们无法提供太多帮助。感谢您的帮助,并对响应延迟表示抱歉。假期真的打乱了我很长一段时间的日程安排。