Объект не имеет атрибута 'create_main_panel' - PullRequest
0 голосов
/ 01 января 2019

Я работаю над кодом, который был ранее написан кем-то другим.

Запуск приведенного ниже кода на моем компьютере:

from wx import PySimpleApp, Size, TE_PROCESS_ENTER, Frame, Panel, 
SUNKEN_BORDER, StaticBox, PlatformInfo, TE_PROCESS_ENTER
from wx import BoxSizer, HORIZONTAL, TextCtrl, StaticText, Slider, 
SL_AUTOTICKS, SL_LABELS, EXPAND, ALL, CheckBox, WINDOW_VARIANT_SMALL
from wx import StaticBoxSizer, VERTICAL, LEFT, TOP, LEFT, RIGHT, GROW, 
Platform, PlatformInfo, GridSizer, Button, EVT_BUTTON
from wx import Slider, SL_AUTOTICKS, SL_LABELS, 
EVT_COMMAND_SCROLL_THUMBTRACK, SpinCtrl, EVT_SPINCTRL, 
ALIGN_CENTER_VERTICAL, ALIGN_CENTER_HORIZONTAL
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
from matplotlib.backends.backend_wxagg import NavigationToolbar2WxAgg as NavigationToolbar
from matplotlib.pyplot import figure as Figure
from scipy import random, double, reshape, savetxt
import my_libs as my
from networkx import read_graphml, spring_layout, Graph, 
to_scipy_sparse_matrix, get_node_attributes, 
get_edge_attributes,draw_networkx, write_graphml

class MyFrame(Frame):
    def __init__(self, parent, ID, title):
        Frame.__init__(self, parent, ID, title, size=(1200, 700))

    ##set default values###########
    ##network##
        self.timesteps=20
        self.groupfile = 'groups.txt'
        self.nodefile = 'homes.txt'
        self.radius=5000
        self.P = 4
        self.W = 20
        self.Mvals = [0.45, 0.333, 0.15, 0.056, 0.008, 0.003]
        self.Pedge = [1.0]
        self.xmlfile = 'new_graph.xml'
        self.randseed = ''
        self.basename='new_data.txt'
        ##dynamics##
        self.a0=0
        self.b0=100
        self.c0=0   
        self.thresh0=30
        self.personal0=50
        self.scale0=10
    ###############################             

        self.create_main_panel()

Приводит к следующей ошибке:

AttributeError: у объекта 'MyFrame' нет атрибута 'create_main_panel'

Кто-нибудь знает, как это исправить?

1 Ответ

0 голосов
/ 02 января 2019

Это только начало гораздо большей программы.В сущности, вы ничего не исправите, если не найдете исходный код программиста для self.create_main_panel (), my_lib и, возможно, намного больше, чем установка недостающих библиотек импорта (с pip), таких как mathplotlib,scipy и т. д.

Следующий код выполняет код минимально, но создает только пустой фрейм.

import wx
from    wx import Frame

class MyFrame(Frame):
    def __init__(self, parent, ID, title):
        Frame.__init__(self, parent, ID, title, size=(1200, 700))

    ##set default values###########
    ##network##
        self.timesteps=20
        self.groupfile = 'groups.txt'
        self.nodefile = 'homes.txt'
        self.radius=5000
        self.P = 4
        self.W = 20
        self.Mvals = [0.45, 0.333, 0.15, 0.056, 0.008, 0.003]
        self.Pedge = [1.0]
        self.xmlfile = 'new_graph.xml'
        self.randseed = ''
        self.basename='new_data.txt'
        ##dynamics##
        self.a0=0
        self.b0=100
        self.c0=0
        self.thresh0=30
        self.personal0=50
        self.scale0=10
    ###############################

        # self.create_main_panel()

if __name__ == '__main__':
    app = wx.App()
    frame = MyFrame(None, wx.ID_ANY, 'Any Title')
    frame.Show(True)
    app.MainLoop()
...