Найти - Пользователи
Полная версия: несколько вопросов по PyGTK
Начало » GUI » несколько вопросов по PyGTK
1
Skyler
В общем, начал изучать. В универе дали задание написать клиент к oracle, на любом языке программирования. По дефолту все будут писать на шарпе, а я решил на питоне + pygtk.
Есть пара тройка вопросов по этому поводу:
1. Почему модуль называется pygtk, а импортируем мы gtk, и gtk.py в системе вообще нигде нет? А pygtk.py содержит в себе вообще что-то левое, не относящееся к gtk.
2. Можно ли активировать функцию при нажатии на close кнопку у окна, при это не закрывая само окно? (допустим, когда требуется подтвердить что-то, т.е. основное не закрывается, вызывается функция, функция рисует новое окошко)
3. Можно ли убивать определенное окно, но не завершая всб программу? (пример: при запуске приложения вылазиет окошко логина, если коннект к бд есть, логин окно закрывается и появляется основное. когда требуется опять залогиниться, убивается main окно и снова рисуется login. на данный момент умею только хайдить первое)
4. Как создавать liststore с динамическим количеством столбцов?(пояснение: при создании экземпляра класса gtk.Liststore мы передаем от одного и больше параметром, указывающих кол-во столбцов и тип каждого из них, надо создавать экземпляр с динамическим количеством, ибо кол-во столбцов и у разных таблиц в бд - разное).
Пока все, что вспомнил. Если еще что будет, напишу.
Заранее спасибо за помощь.
UPD
5. gtk.main() требуется вызывать 1 раз за всю программу или каждый раз для каждого окна?
6. gtk.main_quit() завершает работу всего gui или отдельного окна?
Skyler
Спасибо всем большое за помощь, вижу форум живет.
regall
Вы б еще 31 декября запостили вопрос. Все празднуют…
Skyler
Вот еще вопрос:
как сделать что-то типа выпадающего sidebar'a, как в тотеме?
Т.е. мне надо 1 окошко разделить на 2 части, 2ую часть хайдить при инициализации. Это есть.
Но если я вторую показываю, а потом опять хайд, но первая часть занимает все свободное пространство.
bw
1. Забудь. import pygtk; pygtk.require('2.0'). Больше он ни для не нужен, на сколько я понял.
2. По событию delete-event говоришь True.
3. Object.destroy().
6. Убивает приложение целиком.

> но первая часть занимает все свободное пространство
А как должно быть? Должна оставаться дырка на месте второй части?

p.s. Если используешь потоки, не забудь сделать gobject.threads_init().

..bw
Skyler
bw
А как должно быть? Должна оставаться дырка на месте второй части?
Должно быть так же, как и в totem'e.
bw
p.s. Если используешь потоки, не забудь сделать gobject.threads_init()
Вот это не понял, какие еще потоки в gui?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB