如何在gtk对话框后测试并执行命令?我有以下内容。
dialog.default_response = Gtk::Dialog::RESPONSE_OK
label1 = Gtk::Label.new("Test1")
label2 = Gtk::Label.new("Test2")
label3 = Gtk::Label.new("Test3")
label4 = Gtk::Label.new("Test4")
resultest1 = Gtk::Entry.new
resultest2 = Gtk::Entry.new
resultest3 = Gtk::Entry.new
resultest4 = Gtk::Entry.new
table = Gtk::Table.new(4, 2, false)
table.attach_defaults(label1, 0, 1, 0, 1)
table.attach_defaults(label2, 0, 1, 1, 2)
table.attach_defaults(label3, 0, 1, 2, 3)
table.attach_defaults(label4, 0, 1, 3, 4)
table.attach_defaults(resultest1, 1, 2, 0, 1)
table.attach_defaults(resultest2, 1, 2, 1, 2)
table.attach_defaults(resultest3, 1, 2, 2, 3)
table.attach_defaults(resultest4, 1, 2, 3, 4)
table.row_spacings = 5
table.column_spacings = 5
table.border_width = 10
dialog.vbox.add(table)
dialog.show_all
# Run the dialog and output the data if user okays it
dialog.run do |response|
if response == Gtk::Dialog::RESPONSE_OK
print "Do something with response 1 of the user: %s\n" % [resultest1.text]
print "Do something with response 2 of the user: %s\n" % [resultest2.text]
print "Do something with response 3 of the user: %s\n" % [resultest3.text]
print "Do something with response 4 of the user: %s\n" % [resultest4.text]
end
end
dialog.destroy
}
我想用用户响应做一些命令。例如,与响应1和2在同一行上的一个命令,如unix示例命令。如果问题1是你使用的wifi卡,问题2是要听的频道,我希望能够在Gtk ::对话框后执行以下操作: airodump-ng -c $ {运河} $ {wificard}
感谢任何帮助。
答案 0 :(得分:0)
好的,我试图解决问题,我只是改变第105行:
dialog.run do |response|
if response == Gtk::Dialog::RESPONSE_OK
system "airodump-ng %s\n" % [card.text] % [canal.text]
这项工作但在我的应用停止后出现以下错误:
rom test4.rb:105:in `block (2 levels) in <main>'
from test4.rb:103:in `run'
from test4.rb:103:in `block in <main>'
如何在gtk对话框之后使用示例命令:
system "airodump-ng -c %s\n" [channelnumber.text] [card.text]
运营商%究竟是什么?为什么我不能在一个命令行中使用所有airodump-ng标志?如果我这样开始:
system "airodump-ng %s\n" [card.text] -c [channelnumber.text]
或者那样:
system "airodump-ng %s\n" [card.text] "-c" [channelnumber.text]
我有这个错误:
test4.rb:105:in `block (2 levels) in <main>': undefined local variable or method `c' for main:Object
我知道如何使用示例ruby脚本工作系统,但我只是想了解如何使用GTK将用户条目的参数与shell命令链接,在此示例中使用airodump-ng命令。