Re: [問題] 請問qtruby有無refenrence document
: 推 godfat:就我所知,好像沒有很完整的 ref, 我自己也是看 c++ 那份 05/30 22
: → godfat:基本上幾乎一樣啦,湊合著用吧 @_@b 05/30 22
: → Romulus:首先我不知道QMenu的triggerer(QAction) SLOT在ruby 06/01 00
: → Romulus:要怎麼寫 orz 只能遇一次問一次?(汗) 06/01 00
: → Romulus:試過triggered(Qt:Action)和(QAction)和(Action)都不行 06/01 00
先參考這裡:
http://techbase.kde.org/Development/Languages/Ruby
然後你說的 SLOT, 應該是指 signal 吧?signal 是主動端,
是發出事件的那個人。
基本上 QtRuby 的 binding 都是一對一對應,沒有依照 ruby 特性改寫什麼,
所以... connect 是這樣寫:
win.connect menu, SIGNAL('triggered(QAction*)'), game, SLOT('menu(QAction*)')
那個 * 什麼的都要保留。而且也不能用 ruby 的 Qt::xxx 的名稱,要用原本的 Qxxx
給你看完整測試程式:
require 'Qt4'
class Game < Qt::Object
slots 'menu(QAction*)' # 這邊其實也可以用 symbol, 不過就不能有參數的樣子
def menu action
Qt::MessageBox::about Qt::Application.instance.activeModalWidget,
# activeModalWidget 就是抓現在 on focus 那個 widget
'menu?', action.iconText
end
end
app = Qt::Application.new ARGV
game = Game.new
win = Qt::MainWindow.new
menu = Qt::Menu.new 'say'
menu.addAction 'XD'
win.menuBar.addMenu menu
win.connect menu, SIGNAL('triggered(QAction*)'), game, SLOT('menu(QAction*)')
win.show
app.exec
所以這樣寫就是按下 XD 的時候,會跳出訊息 XD
--
『風車』が廻り続ける度に 『美しき』幻想が静かに紡がれ
『焔』の揺らめきの外に 『腕』を伸ばす愚かな者達 -《Roman》5th Story
『宝石』をより多く掴もうと 『朝と夜』の狭間を彷徨い続ける Track 10
『星屑』の砂の煌めきにも 『葡萄酒』の仄甘い陶酔を魅せ 黄昏の賢者
『賢者』が忌避する檻の中から 『伝言』の真意を彼等に問うだろう
『天使』が别れを告げし時 『地平線』は第五の物語を識る
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.28.18
推
06/02 09:30, , 1F
06/02 09:30, 1F
→
06/02 10:37, , 2F
06/02 10:37, 2F
推
06/02 10:54, , 3F
06/02 10:54, 3F
→
06/02 11:28, , 4F
06/02 11:28, 4F
推
06/02 11:36, , 5F
06/02 11:36, 5F
→
06/02 11:52, , 6F
06/02 11:52, 6F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章