Форум сайта python.su
Стал пробовать создать оболочку для своей программы. Начал с выбора диска (пока без опроса системы на предмет наличия дисков и их типов)
1.При запуске такого кода в левом верхним углу появляется небольшой серый прямоугольник (от оператора panel = wx.Panel(self)). Если я убираю этот оператор, то прямоугольник исчезает, но комбобокс растягивается на весь экран. Раньше после установки панели я использовал радиобокс (http://python.su/forum/viewtopic.php?id=4222), ничего подобного не замечал. Что я делаю неправильно?
# -*- coding: utf-8 -*-
import wx
class MainWindow(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, wx.ID_ANY, title, style = wx.DEFAULT_FRAME_STYLE | wx.MAXIMIZE)
panel = wx.Panel(self)
diskletter = [u'C', u'D']
cbdisk = wx.ComboBox(self, 500, u'С', (10, 80), wx.DefaultSize, diskletter, wx.CB_DROPDOWN)
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = MainWindow(None, -1, u'Определение параметров диска')
frame.Show(True)
app.MainLoop()
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(cbdisk, 0, wx.LEFT|wx.RIGHT|wx.BOTTOM|wx.EXPAND, 5)
self.SetSizer(sizer)
sizer.Fit(self)
self.Layout()
Офлайн
блин, нецжели так трудно создавать темы в соответствующих разделах =(
сор за оффтоп…
Офлайн
Я посчитал, что это вопросы новичка и выносить их в другие разделы не надо (другим может быть неинтересно). Если вопросы новичков можно размещать и в других разделах (по тематике вопросов), то я готов.
Офлайн
Я думаю, что это тебе поможет: http://python.su/forum/viewtopic.php?id=3574.
Очень хорошая статья про сайзеры.
Офлайн
Спасибо большое! Очень хорошая статья.
Офлайн
Печально, что вы не воспользовались моим советом посмотреть демонстрашку :(
Кроме работы с БД там есть ответы практически на все вопросы… или то, что позволит правильно задать вопрос
немножко не по теме… в свое время меня просто распирало от всяких восточных учений… однажды я натолкнулся на потрясающую фразу, (вольный перевод). … ОТВЕТ ГОТОВ. ГОТОВ ЛИ ТВОЙ ВОПРОС… (да простят меня модераторы за крик)
Отредактировано (Апрель 18, 2009 14:17:00)
Офлайн
Ребят, у кого сохранился перевод “wxPython in action”, киньте уже человеку книжку. Смотреть больно на его мучения. у меня просто нет, я английский вариант читал.
Офлайн
Видимо, должно пройти какое-то время для того, чтобы я почувствовал идеологию wxPython (сейчас мне это больше всего надо, поскольку нужно сделать интерфейс), а потом, видимо, и питона как такового. Что-то действительно тяжеловато у меня это дело проходит. Пока, наверное, мне лучше не искать ответы в форуме на частные вопросы, а поизучать литературу и демонстрации и самому поэкспериментировать с кодом. А вопросы задавать, когда после долгих и продолжительных мучений ничего придумать не смогу. Спасибо за сочувствие к моим мучениям и терпение.
Офлайн
tumanovalex
Вы неправильно указываете parent у combobox. При создании контейнера (wxPanel именно им и является), сразу после инициализации фрейма, он растягивается на весь фрейм(где-то я уже это писал :) Остальные виджеты должны находиться именно в этом контейнере (панели в вашем случае)! Вот ее и указывайте в качестве родителя других виджетов.
Читайте wxPython in action, смотрите демки, экспериментируйте :)
Офлайн
Спасибо большое, я понял. Сейчас я пытаюсь разобраться с сайзерами и другими элементами управления. Все очень интересно, но не все понятно. Когда пойму, что сам не могу разобраться, буду задавать вопросы.
Офлайн