我在wxRuby上看到了使用Wx::RadioBox的情况。
我的无线电台有一些丑陋的背景&像这样的边框:

与我运行时获得更好风格的演示不同:

这是我的代码:
#!/usr/bin/env ruby
# coding: utf-8
require 'wx'
include Wx
class MainFrame < Frame
def initialize()
super(nil, :title => "Title", :size => [ 480, 400 ])
#sizer = Wx::BoxSizer.new(Wx::VERTICAL)
sampleList = ["Choice1","Choice2","Choice3"]
rb = Wx::RadioBox.new(self, -1, "Title1", Wx::Point.new(15,20), Wx::Size.new(100,200), sampleList, 1, Wx::RA_SPECIFY_COLS, DEFAULT_VALIDATOR, "Name1")
evt_radiobox(rb) {|event, other| on_debug(sampleList[event.get_int()].to_s(), rb.name.to_s())}
#sizer.add(rb, 0, Wx::ALL, 20)
rb2 = Wx::RadioBox.new(self, -1, "Title2", Wx::Point.new(150,20), Wx::Size.new(100,200), sampleList, 1, Wx::RA_SPECIFY_COLS, DEFAULT_VALIDATOR, "Name2")
evt_radiobox(rb2) {|event| on_debug(sampleList[event.get_int()].to_s(), rb2.name.to_s())}
#sizer.add(rb2, 0, Wx::ALL, 20)
#set_sizer(sizer)
#sizer.fit(self)
#sizer.layout()
end
# show a 'Debug' dialog
def on_debug(*params)
Wx::message_box("Debug :\n\r\n\r#{params.inspect}",
"Debug Box",
ICON_INFORMATION|OK)
end
end
class MyApp < App
def on_init
frame = MainFrame.new
frame.show
end
end
MyApp.new.main_loop()下面是默认代码:
C:\[your Ruby Install]\lib\ruby\gems\1.9.1\gems\wxruby-ruby19-2.0.1-x86-mingw32\samples\bigdemo中有任何帮助都会受到高度赞赏,因为我真的不知道为什么这方面会有如此大的不同?
发布于 2011-09-27 07:27:34
通过在主框架上设置默认背景色解决问题:self.set_background_colour(Wx::NULL_COLOUR)

这是密码:
#!/usr/bin/env ruby
# coding: utf-8
require 'wx'
include Wx
class MainFrame < Frame
def initialize()
super(nil, :title => "Title", :size => [ 480, 400 ])
#sizer = Wx::BoxSizer.new(Wx::VERTICAL)
self.set_background_colour(Wx::NULL_COLOUR)
sampleList = ["Choice1","Choice2","Choice3"]
rb = Wx::RadioBox.new(self, -1, "Title1", Wx::Point.new(15,20), Wx::Size.new(100,200), sampleList, 1, Wx::RA_SPECIFY_COLS, DEFAULT_VALIDATOR, "Name1")
evt_radiobox(rb) {|event, other| on_debug(sampleList[event.get_int()].to_s(), rb.name.to_s())}
#sizer.add(rb, 0, Wx::ALL, 20)
rb2 = Wx::RadioBox.new(self, -1, "Title2", Wx::Point.new(150,20), Wx::Size.new(100,200), sampleList, 1, Wx::RA_SPECIFY_COLS, DEFAULT_VALIDATOR, "Name2")
evt_radiobox(rb2) {|event| on_debug(sampleList[event.get_int()].to_s(), rb2.name.to_s())}
#sizer.add(rb2, 0, Wx::ALL, 20)
#set_sizer(sizer)
#sizer.fit(self)
#sizer.layout()
end
# show a 'Debug' dialog
def on_debug(*params)
Wx::message_box("Debug :\n\r\n\r#{params.inspect}",
"Debug Box",
ICON_INFORMATION|OK)
end
end
class MyApp < App
def on_init
frame = MainFrame.new
frame.show
end
end
MyApp.new.main_loop()https://stackoverflow.com/questions/7562315
复制相似问题