2020.2.10
2020-02-10 本文已影响0人
取名好烦呀
今日QT小知识
1.坐标
鼠标坐标
pos()
获取鼠标当前所在基于屏幕的坐标,坐标即像素值。
qwidget.fromGlobal(pos())
获取以qwidget左上角为原点的鼠标坐标
组件坐标
qwidget(parent).geometry()
设置组件左上角基于parent左上角的坐标。
parent为null表示,这是个最顶层的组件,获取的坐标是基于桌面的。
2.信号
发射信号的对象,必须是QWidget。
信号类似于中断标志位,connect设置好中断函数入口后,就可以实现很多有趣的操作。
比如,音乐播放器在播放的过程中实现进度条的移动。注意,有趣的地方在于,使用单线程就可以实现这个功能。
注意:connect函数和信号的调试比较困难,发送和接收参数不同也可以,即使信号接收和发送有问题,编译也几乎不会报错。需要用qDebug去打印调试。
3.一些组件的使用
按钮后弹出菜单
可以自定义一个类继承QWidget,包含一个按钮和一个菜单类,click按钮后显示菜单就可以实现。
也可以自定义一个按钮组件的子类,包含一个菜单类来实现。
第二种方法,pushButton类已经帮我们实现好了,只要设置menu,按下后就可以自动弹出菜单。
设置快捷键
按钮和QAction都可以设置。