Вкладки в pyvcp. Автопереключение
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
И все-таки, подскажи, как вывести на пин (current) номер текущей вкладки?
Чудес не бывает. Бывают фокусы.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
В смысле? Что ты в итоге хочешь сделать?
там по идее должен появиться еще один пин, на котором отображается текущая вкладака?
там по идее должен появиться еще один пин, на котором отображается текущая вкладака?
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
Да. Пин-то есть (current). Но всегда в 0. Хотелось бы на него вывести номер текущей вкладки.
Чудес не бывает. Бывают фокусы.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
Вроде как это должно менять состояние пина... может там функция какая-то другая нужна...
Код: Выделить всё
pycomp[self.current_pin] = bwidget.NoteBook.raise_page(self)
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
тк он же кажись на select.outSerg-tmn писал(а):И все-таки, подскажи, как вывести на пин (current) номер текущей вкладки?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
не, должен быть что-то типа pyvcp.tabs.current ...
Код: Выделить всё
self.current_pin = halpin+".current"
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
я к тому , что на пине select.out у нас всегда номер текущей вкладки))
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
погоди, что за пин такой?
(А если мы вручную переключили на экране?)
(А если мы вручную переключили на экране?)
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
я против ручного трудаNick писал(а):(А если мы вручную переключили на экране?)
============
надо настроить current ...
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
кто тут возвращает текущую вкладку?:
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
Вроде как строчка которую я написал (тут) должна выдавать нужный номер страницы. (т.е. raise без параметров.)
Вот выдержка из NoteBook
Вот выдержка из NoteBook
Код: Выделить всё
class NoteBook(PagesManager, _Items):
...
def raise_page(self, page=None):
if page is None:
return self.tk.call(self._w, "raise")
else:
return self.tk.call(self._w, "raise", page)
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
нет - она выдает имя вкладки (напр.: AUTO)Nick писал(а):Вроде как строчка которую я написал (тут) должна выдавать нужный номер страницы. (т.е. raise без параметров.)
можно в переборе получить номер вкладки - но что то не верится ,что
в Tk нет этого ...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
хмммм не логичная функция... параметр берет номер, а выдает имя...
надо UAVpilot спросить, это он все время tk рекламирует .
можно конечно через список табов искать номер по имени... но как-то не комильфо и так каждый цикл (100мс) дергаем этот notebook ...
надо UAVpilot спросить, это он все время tk рекламирует .
можно конечно через список табов искать номер по имени... но как-то не комильфо и так каждый цикл (100мс) дергаем этот notebook ...
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
так работает:
==========
то есть вся функция:
Код: Выделить всё
for i in range (self.idx) :
if bwidget.NoteBook.raise_page(self) == self.names[i]:
pycomp[self.current_pin] = i
то есть вся функция:
Код: Выделить всё
def update(self, pycomp):
newvalue = pycomp[self.raise_pin]
if newvalue != self.raise_pin_value:
u = bwidget.NoteBook.raise_page(self,self.names[pycomp[self.raise_pin]])
self.raise_pin_value = newvalue
for i in range (self.idx) :
if bwidget.NoteBook.raise_page(self) == self.names[i]:
pycomp[self.current_pin] = i
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
можно по проще:
Правда если foo не в листе, то выдаст ошибку, но у нас он должен быть там.
(т.е.)
Код: Выделить всё
["foo","bar"].index("foo")
(т.е.)
Код: Выделить всё
pycomp[self.current_pin] = self.names.index(bwidget.NoteBook.raise_page(self))
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
У виджета NoteBook есть команда index.Nick писал(а):хмммм не логичная функция... параметр берет номер, а выдает имя...
надо UAVpilot спросить, это он все время tk рекламирует .
можно конечно через список табов искать номер по имени... но как-то не комильфо и так каждый цикл (100мс) дергаем этот notebook ...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
в этом как будто нет:UAVpilot писал(а):У виджета NoteBook есть команда index.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
Я не знаю как это в питоне сделано, а в Tk есть команда NoteBook, которая создаёт соотв. виджет, а уже у виджета есть команда index.
Код: Выделить всё
$ tclsh
% package require BWidget
1.9
% NoteBook .nb
.nb
% .nb insert 0 page1
.nb.fpage1
% .nb insert 1 page2
.nb.fpage2
% .nb insert 2 page3
.nb.fpage3
%
% .nb index page2
1
% .nb index page3
2
%
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Вкладки в pyvcp. Автопереключение
Так эта... всё уже Вкладки в pyvcp. Автопереключение #56 работает.
Чудес не бывает. Бывают фокусы.