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都可以设置。

上一篇 下一篇

猜你喜欢

热点阅读