Раскрывающийся список PyQT5 QComboBox сохраняется после сообщения о событии - PullRequest
0 голосов
/ 11 октября 2019

Я новичок в использовании pyQT для графических интерфейсов, но у меня есть опыт работы с Java в течение нескольких лет.

У меня есть QComboBox для выбора опции, а затем кнопка отправки, чтобы начать вычисления для графика, учитывая выбор. Все работает отлично, за исключением случаев, когда matplotlib показывает график, выпадающий список из QComboBox сохраняется отдельно от окна выбора или окна графика. Он даже занимает верхний слой моего экрана, поэтому я не могу держать график открытым, работая в других окнах. Будучи совершенно новым для pyQT, я не уверен, с чего начать с исправления проблемы.

Я использую PyQt5 от Anaconda версии 5.9.2 И моя ОС - macOS Mojave, 10.14.6

Вот версия моего кода, которая при запуске выдает ошибку:

from PyQt5.QtWidgets import *
import numpy as np
import matplotlib.pyplot as plt

app = QApplication([])

window = QWidget()

layout = QGridLayout()
layout.setSpacing(10)

label = QLabel("Choose an option")
layout.addWidget(label, 0, 0, 1, 3)

button = QPushButton("Submit")
layout.addWidget(button, 1, 1)

ifo_choices = { 'x','x^2','e^x','sin(x)' }
choose = QComboBox()
choose.addItems(ifo_choices)
layout.addWidget(choose, 2, 1)

def submit_pref():
    pref = choose.currentText()

    freq = np.linspace(0,10,100)

    if(pref == 'x'):
        y = freq
    elif(pref == 'x^2'):
        y = freq**2
    elif(pref == 'e^x'):
        y = np.e**freq
    elif(pref == 'sin(x)'):
        y = np.sin(freq)

    plt.plot(freq, y)
    plt.show()

button.clicked.connect(submit_pref)

window.setLayout(layout)

window.show()
app.exec_()

Вот как выглядит проблема на моем компьютере:

Issue

Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...