Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 17, 2009 15:23:03

tumanovalex
От:
Зарегистрирован: 2009-04-04
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы по панели, сайзеру и комбобоксу

Стал пробовать создать оболочку для своей программы. Начал с выбора диска (пока без опроса системы на предмет наличия дисков и их типов)
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()
2. Если в указанном выше коде использовать сайзер:
 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()
то окно по умолчанию сворачивается к размеру элемента управления. Для его раскрытия нужно два раза щелкнуть на среднем элементе управления размера окна. Можно ли сделать так, чтобы сайзер помогал компоновать элементы управления в фрейме, но при запуске программы окно бы максимизировалось?



Офлайн

#2 Апрель 17, 2009 15:42:56

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Вопросы по панели, сайзеру и комбобоксу

блин, нецжели так трудно создавать темы в соответствующих разделах =(
сор за оффтоп…



Офлайн

#3 Апрель 17, 2009 15:53:39

tumanovalex
От:
Зарегистрирован: 2009-04-04
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы по панели, сайзеру и комбобоксу

Я посчитал, что это вопросы новичка и выносить их в другие разделы не надо (другим может быть неинтересно). Если вопросы новичков можно размещать и в других разделах (по тематике вопросов), то я готов.



Офлайн

#4 Апрель 17, 2009 16:07:24

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Вопросы по панели, сайзеру и комбобоксу

Я думаю, что это тебе поможет: http://python.su/forum/viewtopic.php?id=3574.
Очень хорошая статья про сайзеры.



Офлайн

#5 Апрель 17, 2009 20:10:03

tumanovalex
От:
Зарегистрирован: 2009-04-04
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы по панели, сайзеру и комбобоксу

Спасибо большое! Очень хорошая статья.



Офлайн

#6 Апрель 18, 2009 14:03:31

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Вопросы по панели, сайзеру и комбобоксу

Печально, что вы не воспользовались моим советом посмотреть демонстрашку :(
Кроме работы с БД там есть ответы практически на все вопросы… или то, что позволит правильно задать вопрос

немножко не по теме… в свое время меня просто распирало от всяких восточных учений… однажды я натолкнулся на потрясающую фразу, (вольный перевод). … ОТВЕТ ГОТОВ. ГОТОВ ЛИ ТВОЙ ВОПРОС… (да простят меня модераторы за крик)



Отредактировано (Апрель 18, 2009 14:17:00)

Офлайн

#7 Апрель 19, 2009 14:41:34

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Вопросы по панели, сайзеру и комбобоксу

Ребят, у кого сохранился перевод “wxPython in action”, киньте уже человеку книжку. Смотреть больно на его мучения. у меня просто нет, я английский вариант читал.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#8 Апрель 20, 2009 05:20:47

tumanovalex
От:
Зарегистрирован: 2009-04-04
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы по панели, сайзеру и комбобоксу

Видимо, должно пройти какое-то время для того, чтобы я почувствовал идеологию wxPython (сейчас мне это больше всего надо, поскольку нужно сделать интерфейс), а потом, видимо, и питона как такового. Что-то действительно тяжеловато у меня это дело проходит. Пока, наверное, мне лучше не искать ответы в форуме на частные вопросы, а поизучать литературу и демонстрации и самому поэкспериментировать с кодом. А вопросы задавать, когда после долгих и продолжительных мучений ничего придумать не смогу. Спасибо за сочувствие к моим мучениям и терпение.



Офлайн

#9 Апрель 20, 2009 07:36:43

hellslade
От:
Зарегистрирован: 2008-01-28
Сообщения: 240
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы по панели, сайзеру и комбобоксу

tumanovalex
Вы неправильно указываете parent у combobox. При создании контейнера (wxPanel именно им и является), сразу после инициализации фрейма, он растягивается на весь фрейм(где-то я уже это писал :) Остальные виджеты должны находиться именно в этом контейнере (панели в вашем случае)! Вот ее и указывайте в качестве родителя других виджетов.
Читайте wxPython in action, смотрите демки, экспериментируйте :)



Офлайн

#10 Апрель 21, 2009 21:35:44

tumanovalex
От:
Зарегистрирован: 2009-04-04
Сообщения: 39
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы по панели, сайзеру и комбобоксу

Спасибо большое, я понял. Сейчас я пытаюсь разобраться с сайзерами и другими элементами управления. Все очень интересно, но не все понятно. Когда пойму, что сам не могу разобраться, буду задавать вопросы.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version