我如何聚焦一个小部件?
How do I focus a widget?
当我启动我的应用程序时,我想将焦点设置在某个按钮上。目前我需要点击 tab
一次才能使按钮聚焦。
wxwidgets
文档提到了 SetFocus
方法 (link),但在 wxhaskell
?
中似乎不可用
然后我找到了 MoveBeforeInTabOrder
(link) 但同样,我没有在 wxhaskell
中找到它。
wxhaskell
mentioned 的维护者,它是 2009 年的 'fairly complete GUI binding' 所以我只是在这里遗漏了一些东西还是运气不好?
这是我的最小示例:
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 ]
wx 库有一个 focusOn
function 可以让你专注于一个控件。
它是 wxcore's windowSetFocus
. The type is a bit misleading: it says Window a
, but it works for buttons because they are windows too 的 re-export。
以下作品(注意我只加了最后一行):
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!
当我启动我的应用程序时,我想将焦点设置在某个按钮上。目前我需要点击 tab
一次才能使按钮聚焦。
wxwidgets
文档提到了 SetFocus
方法 (link),但在 wxhaskell
?
然后我找到了 MoveBeforeInTabOrder
(link) 但同样,我没有在 wxhaskell
中找到它。
wxhaskell
mentioned 的维护者,它是 2009 年的 'fairly complete GUI binding' 所以我只是在这里遗漏了一些东西还是运气不好?
这是我的最小示例:
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 ]
wx 库有一个 focusOn
function 可以让你专注于一个控件。
它是 wxcore's windowSetFocus
. The type is a bit misleading: it says Window a
, but it works for buttons because they are windows too 的 re-export。
以下作品(注意我只加了最后一行):
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!