Форум сайта python.su
Разрешения еще одна проблема…
Есть модуль1 и модуль2. Оба построены на классах wx.Frame. Из модуль1 я по кнопке показываю модуль2 Show(), при этом модуль1 не закрывается, модуль1 главное окно программы.
В модуле2 две кнопки, ок и отмена. Вопрос - как мне в модуле1 понять какая кнопка была нажала в модуле2.
Офлайн
n2bМожно установить поле - результат либо в объекте типа модуль1 либо в объекте типа модуль2 как вам больше нравится :). посмотрите примеры использования диалогов в примерах wxpython
Вопрос - как мне в модуле1 понять какая кнопка была нажала в модуле2.
Отредактировано (Ноя. 5, 2011 06:55:46)
Офлайн
doza_andЯ прежде чем написать бился над этим часа два.
Можно установить поле - результат либо в объекте типа модуль1 либо в объекте типа модуль2 как вам больше нравится . посмотрите примеры использования диалогов в примерах wxpython
Офлайн
Решил проблему переписав модуль на wx.Dialog, появилось еще пара проблем в связи с этим, но решил сам костылями… =)
Офлайн
1 не надо костылями - обычно есть нормальные решения.
2 frame.my_special_custom_value=1 не работает?
Офлайн
doza_and1. Дак может это и не костыли, может по другому и нельзя сделать и то что сделал я является самым нормальным решением… :) Если я буду сюда постить каждый вопрос, который сам решил/могу решить, то это целый форум новый открывать надо.
1 не надо костылями - обычно есть нормальные решения.
2 frame.my_special_custom_value=1 не работает?
Отредактировано (Ноя. 5, 2011 23:49:40)
Офлайн
Преддиплом защитил, щас проект доделываю до диплома :)
Появилась новая проблема, на этот раз уже с wx.ListCtrl:
Мой ListControl.
class Results(wx.Frame):
def __init__(self, rows):
wx.Frame.__init__(self, None, -1,"wx.ListCtrl in wx.LC_REPORT mode")
self.list = wx.ListCtrl(self, -1, style=wx.LC_REPORT)
columns = [u'Не несущие информацию значения', u'Не соответствующие формату значения', u'Значение уровня шума',
u'Полнота данных', u'Идентифицируемость', u'Согласованность', u'Унификация', u'Оперативность',
u'Противоречивость', u'Достоверность', u'Степень классификации', u'Степень структуризации', u'Итоговый процент оценки качества данных']
for col, text in enumerate(columns):
self.list.InsertColumn(col, text)
for item in rows:
index = self.list.InsertStringItem(sys.maxint, str(item[0]))
for col, text in enumerate(item[1:]):
self.list.SetStringItem(index, col+1, text)
self.list.SetColumnWidth(0, wx.LIST_AUTOSIZE)
self.list.SetColumnWidth(1, wx.LIST_AUTOSIZE)
self.list.SetColumnWidth(2, wx.LIST_AUTOSIZE)
self.list.SetColumnWidth(3, wx.LIST_AUTOSIZE_USEHEADER)
self.SourceTab = wx.Panel(self.Tabs, -1)
self.Tabs.AddPage(self.SourceTab, 'SourceTable', -1)
mygrid=wx.grid.Grid(self.SourceTab, -1)
Офлайн
С этим потом разберусь. Тут новая фигня…
#module1 -- 1 из методов класса
def OnConnectBtn(self, event):
self.dsn = [self.ip, self.port, self.sid]
self.dbdata = [self.login, self.passw]
self.Close()
#module2 -- получение dbdata из модуля1
def ConnectDB(self, event):
print "connecting to db"
self.frame = connectdb.connectDB()
self.frame.Show()
Отредактировано (Янв. 22, 2012 03:05:52)
Офлайн
Ну значит у объекта connectDB нет свойства или метода dbdata когда ты к нему обращаешься, смотри внимательней где объект создается и есть ли там свойство/метод перед непосредственным обращением
Офлайн
Piton23100% есть метод.
Ну значит у объекта connectDB нет свойства или метода dbdata когда ты к нему обращаешься, смотри внимательней где объект создается и есть ли там свойство/метод перед непосредственным обращением
Офлайн