Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 31, 2006 17:22:05

securelord
От:
Зарегистрирован: 2006-08-31
Сообщения: 129
Репутация: +  0  -
Профиль   Отправить e-mail  

gtk.Entry

Занялся недавно построением интерфейса на Gtk.
Вопрос вот в чем - существует ли такое свойство для виджета Entry как ширина(или длина, как хотите)?



Офлайн

#2 Авг. 31, 2006 22:45:28

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

gtk.Entry

entry.set_size_request
а вообще-то поставь glade и смотри сишный код, догадаться что gtk_widget_set_size_request (entry1, 100, 20) в С == entry1.set_size_request (100,20) не так уж и сложно

Офлайн

#3 Сен. 11, 2006 11:29:04

securelord
От:
Зарегистрирован: 2006-08-31
Сообщения: 129
Репутация: +  0  -
Профиль   Отправить e-mail  

gtk.Entry

Еще вопрос в догонку - можно ли используя entry.set_text(x) вместо x использовать переменную? Исходя из мануала, то нельзя. Может есть функция которая непосредственно делает то что нужно…



Офлайн

#4 Сен. 11, 2006 14:03:56

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

gtk.Entry

как это нельзя%)

Офлайн

#5 Сен. 11, 2006 15:12:12

securelord
От:
Зарегистрирован: 2006-08-31
Сообщения: 129
Репутация: +  0  -
Профиль   Отправить e-mail  

gtk.Entry

Просто не получается, что бы заработала такая конструкция:

...
x = "entry"
entry.set_text(x)
...



Офлайн

#6 Сен. 11, 2006 15:21:40

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

gtk.Entry

ну полностью давай код, потыкаем

Офлайн

#7 Сен. 11, 2006 15:38:59

securelord
От:
Зарегистрирован: 2006-08-31
Сообщения: 129
Репутация: +  0  -
Профиль   Отправить e-mail  

gtk.Entry

import pygtk
pygtk.require('2.0')
import gtk

class Pref:
def __init__(self):
def ok():
print “Ok”
def Apply():
print “Apply”

def changed(entry):
Entry.set_text(entry)


window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_title(“Main - Inventar v0.1”)

table_pref = gtk.Table(rows=2, columns=3)
window.add(table_pref)

Entry=gtk.Entry()

combo = gtk.combo_box_entry_new_text()
window.add(combo)
combo.append_text('1')
combo.append_text('2')
combo.child.connect('changed', changed)
combo.set_active(0)

table_pref.attach(combo, 0, 1, 0, 1)
table_pref.attach(Entry, 1, 2, 0, 1)

Entry.show()
table_pref.show()
combo.show()

frame_prefDB = gtk.Frame()
table_pref.attach(frame_prefDB, 0, 1, 0, 1)
frame_prefDB.show()

frame_newDB = gtk.Frame()
table_pref.attach(frame_newDB,1, 2, 0, 1)
frame_newDB.show()

frame_user = gtk.Frame()
table_pref.attach(frame_user, 2, 3, 0, 1)
frame_user.show()

Hbox = gtk.HBox(spacing=10)
table_pref.attach(Hbox, 0, 3, 1, 2)

but_ok = gtk.Button(“Ok”)
but_ok.connect(“clicked”, ok)
but_clear = gtk.Button(“Apply”)
but_clear.connect(“clicked”, Apply)
but_cancel = gtk.Button(“Cancel”)
#but_cancel.connect(“clicked”, cancel)

Hbox.pack_start(but_ok)
Hbox.pack_start(but_clear)
Hbox.pack_start(but_cancel)

but_ok.show()
but_clear.show()
but_cancel.show()
Hbox.show()


table_pref.show()
window.show()

def main():
gtk.main()
return 0

if __name__ == “__main__”:
Pref()
main()
В скрипте нужно чтобы при выборе пункта в combobox'е текст должен отображаться в соседнем Entry



Отредактировано (Сен. 11, 2006 15:42:09)

Офлайн

#8 Сен. 12, 2006 12:25:54

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

gtk.Entry

)ну ёпт, смотрим какую ошибку выдаёт:
File “G:\1.py”, line 13, in changed
Entry.set_text(entry)
TypeError: GtkEntry.set_text() argument 1 must be string, not gtk.Entry

и?) а ты передаёшь виджет, объект) а надо? а как сделать?
а наверн овот так:

def changed(entry):
Entry.set_text(entry.get_text())

в этом и вся прелесть в интерпретируемых языках, что они выводят много инфы об ошибке, а не тупо молча падают)

Офлайн

#9 Сен. 12, 2006 12:28:49

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

gtk.Entry

и смотри побольше examples и pygtk tutorial + pygtk faq и всё=( ничё больше нет, и при этом gtk “класическая гуи либа”, я вот парился как в табе кнопку закрыть присобачить и текст с картинкой и чтоб не через жопу, нашёл только в факе)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version