1
클릭하면 이벤트가 실행되지 않습니다.wxpython 버튼이 차단되었거나 클릭되지 않았습니다.
뭔가가, 메인 패널에서 정말 아무것도 버튼과 선택을 차단 것처럼
이 보인다 파이썬에서 간단한 데이터 시각화를위한 간단한 GUI를 제작하고있다.
작동하지만 그 다음 그래프를 matplotlib에서 배치했습니다. 게재 위치/박스와 관련이 있다고 생각하지만 저의 삶에 대해 알 수는 없습니다.
도움을 주시면 감사하겠습니다.
import sys
from random import *
import signal
import sqlite3
from datetime import date, datetime
import wx
import wx.lib.mixins.inspection as WIT
import matplotlib
from numpy import arange, sin, pi
matplotlib.use('WX')
from matplotlib.backends.backend_wx import FigureCanvasWx as FigureCanvas
from matplotlib.backends.backend_wx import NavigationToolbar2Wx
from matplotlib.figure import Figure
class myGui(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,id,title)
self.parent = parent
self.initialise()
pnl = wx.Panel(self)
self.figure = Figure()
self.axes = self.figure.add_subplot(111)
t = arange(0.0, 3.0, 0.01)
s = sin(2 * pi * t)
self.axes.plot(t, s)
self.canvas = FigureCanvas(self, -1, self.figure)
self.sizer = wx.BoxSizer(wx.HORIZONTAL)
rightMenuBtns = wx.BoxSizer(orient=wx.VERTICAL)
self.sizer.Add(rightMenuBtns, proportion = 1, flag=wx.LEFT | wx.ALL, border = 5)
self.sizer.Add(self.canvas, 1, wx.RIGHT | wx.TOP | wx.EXPAND)
fileMenu = wx.Menu()
loadFile = fileMenu.Append(wx.ID_OPEN)
exitItem = fileMenu.Append(wx.ID_EXIT)
helpMenu = wx.Menu()
aboutItem = helpMenu.Append(wx.ID_ABOUT)
self.problems = wx.Choice(pnl,choices = allProblems())
rightMenuBtns.Add(self.problems, proportion = 1, flag=wx.CENTER | wx.ALL, border = 5)
self.solutions = wx.Choice(pnl,choices = allSolutionsText(allProblems()[self.problems.GetSelection()]))
rightMenuBtns.Add(self.solutions, proportion = 1, flag=wx.CENTER | wx.ALL, border = 5)
solve = wx.Button(pnl, label="SOLVE")
rightMenuBtns.Add(solve, proportion = 1, flag=wx.CENTER | wx.ALL, border = 5)
menuBar = wx.MenuBar()
menuBar.Append(fileMenu, "&File")
menuBar.Append(helpMenu, "&Help")
self.SetMenuBar(menuBar)
self.Bind(wx.EVT_MENU, self.OnExit, exitItem)
self.Bind(wx.EVT_MENU, self.OnAbout, aboutItem)
self.Bind(wx.EVT_MENU, self.loadFile, loadFile)
self.Bind(wx.EVT_BUTTON, self.Solve, solve)
self.solutions.Bind(wx.EVT_CHOICE, self.Solutions)
self.problems.Bind(wx.EVT_CHOICE, self.Problems)
self.dlg = wx.TextEntryDialog(pnl, 'Enter the amount of seconds you want to run solver for:','Time')
self.SetSizer(self.sizer)
self.Fit()
def initialise(self):
self.Show(True)
def OnExit(self, event):
self.Close(True)
def OnAbout(self, event):
wx.MessageBox("Hello",
"Made By Thomas Csere", wx.OK | wx.ICON_INFORMATION)
def loadFile(self, event):
openFileDialog = wx.FileDialog(self, "Open", "", "",
"Traveling Salesman Problem (*.tsp)|*.tsp",
wx.FD_OPEN | wx.FD_FILE_MUST_EXIST)
openFileDialog.ShowModal()
addProblem(openFileDialog.GetPath())
wx.MessageBox("Problem Added")
openFileDialog.Destroy()
def Problems(self,event):
print("woo")
self.solutions.Clear()
self.solutions.AppendItems(allSolutionsText(allProblems()[self.problems.GetSelection()]))
def Solutions(self,event):
print("yay")
def Solve(self,event):
self.dlg.ShowModal()
if(self.problems.GetSelection()>=0):
solveFull(allSolutionsText(allProblems()[self.problems.GetSelection()], self.dlg.GetValue()))
app = wx.App()
frame = myGui(None,-1,"My Application")
app.MainLoop()
나는 그 코드에서 에디터로 오류가있는'find and replace'를 수행했다고 의심합니다. 수많은 함수/변수가 코드에서 완전히 빠져 있습니다. 누군가 실제로 그것을 잘못 생각하기 전에 해결해야 할 것입니다. –