Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Ошибка в функции wx.ScrollBar - SetScrollbar [RSS Feed]

#1 Дек. 15, 2009 21:37:51

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

Ошибка в функции wx.ScrollBar - SetScrollbar

Пытаюсь использовать компонент wx.ScrollBar. Мне требуется, чтобы через определенный промежуток времени он менял свои параметры. Соответственно, пытаюсь использовать функцию SetScrollbar, пользуясь документацией по wxWidgets.

То есть в теории приемлема форма:

scroll.SetScrollbar(position=a, thumbSize=b, range=c, pageSize=d, refresh=True)

Но wxPython требует какой-то неизвестный параметр orientation…
Методом проб и ошибок вывел:

scroll.SetScrollbar(orientation=a, position=b, thumbSize=c, range=d)

при этом названия и смысл параметров не совпадают, но соответствуют с порядком в документации wxWidgets. Хотя, может я чего-то не понимаю.



Офлайн

#2 Дек. 15, 2009 21:47:58

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

Ошибка в функции wx.ScrollBar - SetScrollbar

Не знаю какой wx.ScrollBar вы смотрели, но что-то вообще не то:
http://docs.wxwidgets.org/stable/wx_wxscrollbar.html#wxscrollbarctor



Офлайн

#3 Дек. 15, 2009 21:52:28

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

Ошибка в функции wx.ScrollBar - SetScrollbar

regall
Не знаю какой wx.ScrollBar вы смотрели, но что-то вообще не то:
http://docs.wxwidgets.org/stable/wx_wxscrollbar.html#wxscrollbarctor
Про него и говорю. Конкретно про функцию wxScrollBar::SetScrollbar

То есть должен быть примерно такой код:
scroll = wx.ScrollBar(self, -1)
#...
scroll.SetScrollbar(position=a, thumbSize=b, range=c, pageSize=d, refresh=True)
Но в таком виде не работает.

Примечание: пишу здесь a, b, c, d для простоты. В программе у меня на этих местах функции.



Отредактировано (Дек. 15, 2009 21:56:57)

Офлайн

#4 Дек. 16, 2009 15:48:20

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

Ошибка в функции wx.ScrollBar - SetScrollbar

Всё-таки хотелось бы, чтобы кто-то подтвердил или опровергнул мои замечания. Я использую версию 2.8.9.2 для Windows. Для проверки можно использовать код:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import wx

class MainWindow(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, parent=None, title="Test", size=(300, 200))
self.do_layout()
self.Bind(wx.EVT_BUTTON, self.on_button)

def do_layout(self):
sizer = wx.BoxSizer(wx.VERTICAL)

btn = wx.Button (self, wx.NewId(), "Button")
self.scroll = wx.ScrollBar(self, wx.NewId())
btnSizer = wx.BoxSizer()
btnSizer.Add(btn, flag=wx.ALIGN_CENTER)

sizer.Add(btnSizer, proportion=1, flag=wx.ALIGN_CENTER)
sizer.Add(self.scroll, flag=wx.ALIGN_BOTTOM | wx.EXPAND)

self.SetSizer(sizer)
self.Layout()

def on_button(self, evt):
range_ = self.scroll.GetRange() + 1
# must be:
# self.scroll.SetScrollbar(position=0, thumbSize=1, range=range_, pageSize=1, refresh=True)
self.scroll.SetScrollbar(orientation=0, position=1, thumbSize=range_, range=1, refresh=True)

if __name__ == "__main__":
app = wx.PySimpleApp(0)
mainWnd = MainWindow()
mainWnd.Show()
app.MainLoop()



Офлайн

#5 Дек. 17, 2009 04:00:26

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

Ошибка в функции wx.ScrollBar - SetScrollbar

так и есть
orientation это position
position это tumbSize
tumbSize это range
ну и range это pageSize



Отредактировано (Дек. 17, 2009 04:32:29)

Офлайн

  • Начало
  • » GUI
  • » Ошибка в функции wx.ScrollBar - SetScrollbar[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version