QT中QWidget类参考!(31)

2023-06-03 来源:旧番剧
void QWidget::grabKeyboard ()
捕获键盘输入。
这个窗口部件接收所有的键盘事件并且其它窗口部件将不会得到直到releaseKeyboard()被调用。鼠标事件不受影响。如果你想捕获鼠标事件,请使用grabMouse()。
焦点窗口部件不受影响,除非它不接收任何键盘事件。setFocus()像平常那样移动焦点,但是只有在releaseKeyboard()被调用之后,新的焦点窗口部件才能接收键盘事件。
如果一个不同的窗口部件当前正在捕获键盘焦点,那么那个窗口部件的捕获首先被释放。
也可以参考releaseKeyboard()、grabMouse()、releaseMouse()和focusWidget()。
void QWidget::grabMouse ()
捕获鼠标输入。
这个窗口部件接收所有的鼠标事件并且其它窗口部件将不会得到直到releaseMouse()被调用。键盘事件不受影响。如果你想捕获键盘事件,请使用grabKeyboard()。
警告:捕获鼠标的应用程序的bug经常会锁定终端。请特别仔细地使用这个函数,并且在调试的时候考虑使用-nograb命令行参数。
在使用Qt的时候,几乎不需要捕获鼠标,因为Qt非常聪明地捕获它、释放它。在特殊情况下,当鼠标按键被按下并且保持这种状态直到最后一个按键被释放时,Qt捕获鼠标。
注意只有可视的窗口部件可以捕获鼠标输入。如果一个窗口部件的isVisible()返回假,这个窗口部件不能调用grabMouse()。
也可以参考releaseMouse()、grabKeyboard()、releaseKeyboard()、grabKeyboard()和focusWidget()。
void QWidget::grabMouse ( const QCursor & cursor )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
捕获鼠标输入并且改变光标形状。
光标将被赋值为形状cursor(只要在鼠标焦点被捕获)并且这个窗口部件将变为唯一接收鼠标事件的窗口部件直到releaseMouse()被调用。
警告:不过鼠标也许会锁定终端。
猜你喜欢
动漫推荐
免责声明:动漫番剧数据来源网络!本站不收费,无vip,请勿上当!

www.jiufanju.com-旧番剧