当我启动我的应用程序时,我想将焦点设置在某个按钮上。目前,我需要点击tab
一次以关注按钮。
wxwidgets
文件中提到的SetFocus
方法(link)似乎在wxhaskell
中无法使用?
然后我找到MoveBeforeInTabOrder
(link),但我再次找不到wxhaskell
。
wxhaskell
mentioned的维护者,它在2009年是一个“相当完整的GUI绑定”,所以我只是在这里遗漏了一些东西还是运气不好?
这是我的最小例子:
module Main where
import Graphics.UI.WX
import Graphics.UI.WXCore
main :: IO ()
main = start hello
hello :: IO ()
hello = do
f <- frame []
test <- button f [ text := "button" ]
set f [ layout := widget test ]
答案 0 :(得分:1)
wx库有focusOn
function,可让您专注于控件。
这是wxcore's windowSetFocus
的转口。该类型有点误导:它说Window a
,但它适用于按钮,因为they are windows too。
以下作品(注意我只添加了最后一行):
module Main where
import Graphics.UI.WX
import Graphics.UI.WXCore
main :: IO ()
main = start hello
hello :: IO ()
hello = do
f <- frame []
test <- button f [ text := "button" ]
set f [ layout := widget test ]
focusOn test -- Here!