我正嘗試創建一個簡單的應用程序,用Ruby通過Qt編寫。我在Qt Designer中設計了一個表單(MainForm),並通過rbuic4
將它轉換爲Ruby代碼表示。純不變的結果有四種方法,看起來像這樣:Ruby:在Qt中創建一個簡單的應用程序
=begin
** Form generated from reading ui file 'stackover.ui'
**
** Created: Р’С‚ 24. РЅРѕСЏ 21:15:02 2009
** by: Qt User Interface Compiler version 4.3.1
**
** WARNING! All changes made in this file will be lost when recompiling ui file!
=end
class Ui_MainWindow
attr_reader :centralwidget
attr_reader :pushButton
attr_reader :listView
attr_reader :menubar
attr_reader :statusbar
def setupUi(mainWindow)
mainWindow.setObjectName("mainWindow")
@centralwidget = Qt::Widget.new(mainWindow)
@centralwidget.setObjectName("centralwidget")
@pushButton = Qt::PushButton.new(@centralwidget)
@pushButton.setObjectName("pushButton")
@pushButton.setGeometry(Qt::Rect.new(10, 10, 75, 23))
@listView = Qt::ListView.new(@centralwidget)
@listView.setObjectName("listView")
@listView.setGeometry(Qt::Rect.new(10, 40, 431, 192))
mainWindow.setCentralWidget(@centralwidget)
@menubar = Qt::MenuBar.new(mainWindow)
@menubar.setObjectName("menubar")
@menubar.setGeometry(Qt::Rect.new(0, 0, 451, 21))
mainWindow.setMenuBar(@menubar)
@statusbar = Qt::StatusBar.new(mainWindow)
@statusbar.setObjectName("statusbar")
mainWindow.setStatusBar(@statusbar)
retranslateUi(mainWindow)
size = Qt::Size.new(451, 276)
size = size.expandedTo(mainWindow.minimumSizeHint())
mainWindow.resize(size)
Qt::MetaObject.connectSlotsByName(mainWindow)
end # setupUi
def setup_ui(mainWindow)
setupUi(mainWindow)
end
def retranslateUi(mainWindow)
mainWindow.setWindowTitle(Qt::Application.translate("MainWindow", "MainWindow", nil, Qt::Application::UnicodeUTF8))
@pushButton.setText(Qt::Application.translate("MainWindow", "PushButton", nil, Qt::Application::UnicodeUTF8))
end # retranslateUi
def retranslate_ui(mainWindow)
retranslateUi(mainWindow)
end
end
module Ui
class MainWindow < Ui_MainWindow
end
end # module Ui
主要的想法是創建一個Ruby的Qt應用程序,運行我小的Ruby應用程式上的GUI - 因爲現在我並不需要所有Qt庫的強大功能。
我知道this很好的例子,但它展示了一個不同的.ui文件生成的代碼。還是他們設法改變它?無論如何,他們的例子工作正常,但我不能讓自己的工作正常。
我只是不知道如何處理我生成的文件,如何進一步並與我的Ruby程序建立連接...也許我的rbuic4
是錯誤的?或者我正在運行它與不正確的選項(我是-o
選項)以獲得類似arachnoid的模板?