2013-04-07 4 views
1

Я разрабатываю приложение с использованием ruby ​​и qt в качестве интерфейса. Я использовал qtdesigner для рисования gui и преобразовал код с помощью rbuic4. Но я не могу получить никаких действий для кнопок, размещенных в основной программе. Я создал main.rb и вызвал сгенерированный код, используя require ./muprogramm.rb. Вот пример кода для открытия диалога выбора файла для кнопки mbusb_close (имя объекта)Qtdesinger, ruby ​​и некоторые действия для кнопок/виджетов в сгенерированном коде

require './muprogramm.rb' 
require 'Qt4' 
class Form < Qt::Widget 
    slots 'file_dialog()' 
    def initialize(parent = nil) 
    super 
     @ui = Ui_Frame.new 
     @ui.setupUi(self) 
     Qt::Object.connect(@ui.mbusb_close, SIGNAL('clicked()'), self, SLOT('file_dialog()')) 
    end 
    def file_dialog 
     f = Qt::FileDialog 
     text = File.new(f.getOpenFileName).read 
     #@ui.editor_window.setText 'WikiBooks: Ruby' 
    end 
end 
a = Qt::Application.new(ARGV) 
    u = Ui_Frame.new 
    w = Qt::Frame.new 
    u.setupUi(w) 
    w.show 
a.exec 

Ресурс доступен в сети является расплывчатым. Любая помощь приветствуется

ответ

0

Просто используйте подкласс, созданный непосредственно:

require './muprogramm.rb' 
require 'Qt4' 
class Form < Qt::Widget 
    slots 'file_dialog()' 
    def initialize(parent = nil) 
    super 
     @ui = Ui_Frame.new 
     @ui.setupUi(self) 
     Qt::Object.connect(@ui.mbusb_close, SIGNAL('clicked()'), self, SLOT('file_dialog()')) 
    end 
    def file_dialog 
     f = Qt::FileDialog 
     text = File.new(f.getOpenFileName).read 
     #@ui.editor_window.setText 'WikiBooks: Ruby' 
    end 
end 
a = Qt::Application.new(ARGV) 
    w = Form.new 
    w.show 
a.exec 

 Смежные вопросы

  • Нет связанных вопросов^_^