Диалог Pygtk и возврат id / info

К сожалению, это не настраивается, но вы можете легко получить это обратно вручную, компилируя источник единства (пожалуйста, напишите ошибку, чтобы попросить добавить параметр, кстати).

Как я уже говорил, вы вы можете отредактировать файл BamfLauncherIcon.cpp, изменив строку: bool only_top_win = !any_urgent; - bool only_top_win = true;

Я знаю, что это не лучшее решение, но поскольку это было последнее изменение, у нас не было времени ввести новый параметр ccsm.

1
задан 2 August 2012 в 03:08

2 ответа

Проект, над которым я работаю, вычисляет имя файла ui и каждый раз перестраивает диалоговое окно. Он показывает это и заканчивается вызовом gtk.main ().

Различные элементы управления имеют имена в glade-gtk2, а glade-gtk2 также используется для определения кнопок отмены и ok. Обработчики названы в поляне для сигналов, когда эти кнопки нажаты.

В названиях кодов также подключены различные элементы управления. Например:

self.use_vertical_layout = builder.get_object('vertical_layout')

Код определяет определения для обработчиков, и эти обработчики связаны с builder.connect_signals перед отображением диалогового окна.

Когда вызывается обработчик для ok , он может проверять значения различных элементов управления флажками. В приведенном выше примере self.use_vertical_layout, чтобы представить значение флажка, когда было выбрано OK.

Пожалуйста, имейте в виду, что pygtk - это способ gtk-2 делать вещи и текущие версии быстрого использования gtk3 и интроспекции вместо этого (но используя очень похожий подход).

1
ответ дан 25 May 2018 в 08:00
from gi.repository import Gtk

builder = Gtk.Builder()
#correct the path to ui file
builder.add_from_file("ui/stuff.glade")

class Worker:
    def __init__(self):
        self.dia = builder.get_object("MyDialogue")
        self.win = builder.get_object("MyWindow")
    def change_application_settings(self, *args, **kwds):
        '''
        get dialogue states
        '''
        pass
    def reset_dialogue_settings(self, *args, **kwds):
        '''
        set dialogue states
        '''
        pass

worker = Worker()

class Handler:
    def on_mywindow_delete_event(self, *args, **kwds):
        Gtk.main_quit()

    def on_show_dialogue_button_clicked(self, *args, **kwds):
        retval = worker.dia.run()
        worker.dia.hide()
        if retval in [Gtk.ResponseType.OK,
                      Gtk.ResponseType.APPLY, 
                      Gtk.ResponseType.ACCEPT]:
            worker.change_application_settings()
        else:
            worker.reset_dialogue_settings()

builder.connect_signals(Handler())
worker.win.show_all()
Gtk.main()  

Я не тестировал его, но это о том, как он должен выглядеть.

1
ответ дан 25 May 2018 в 08:00

Другие вопросы по тегам:

Похожие вопросы: