1
クリックするとイベントは発生しません。wxpythonボタンがブロックされている/クリックされていない
私はPythonで簡単なデータ可視化のためのシンプルな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'を実行したと思われます。多数の関数/変数がコードから完全に欠落しています。誰かが実際に間違っていることに取り組む前に、それを修正する必要があります。 –