Python новичок здесь, еще новее Pmw:
У меня есть следующий метод, показанный для отображения поля Pmw MessageDialog, и он работает как положено, а значение результата возвращается и публикуется в edit1, который является виджетом Tkinter.Text; «Я» здесь - это Tkinter.Frame. (работает под управлением Win7-32 и Python v2.7.2):
def _showMessageBar(self):
dialog = Pmw.MessageDialog(self, title = 'DBox',defaultbutton = 0,buttons('OK',Cancel'), message_text = 'DBox')
dialog.iconname(dialog['title'])
try:
result = dialog.activate()
finally:
dialog.deactivate()
self.edit1.insert(END, result+ "\n")
Проблема в том, что вызов dialog.activate () не позволяет мне контролировать местоположение MessageBox.
Если я изменю этот вызов на:
result = dialog.activate(geometry = first+50+20)
тогда виджет messageBox помещается в указанные координаты, , но это имеет два побочных эффекта:
1) Виджет messageBox теперь имеет кнопки главного окна (закрыть, свернуть, развернуть), а не диалоговое окно (только кнопка закрытия 'X')
2) Значение результата никогда не публикуется в edit1.
Вопрос: Как мне управлять местоположением MessageBox, сохраняя кнопки / границы диалогового окна и получая значение, отправленное в виджет Text (edit1).
ТИА