查了很多资料,今天终于有个结果。
首先重写label类的鼠标事件,和paintEvent事件,这些网上有很多例子。
其次,把label控件升级为自己重写的label类,这样就可以使用ui.imagelabel调用鼠标事件的函数。这些做完之后,可以在label上画矩形了。但是不显示加载的图片,找了很多方法,包括使用信号槽等都不行。
最后发现,需要在paintEvent事件里面加一句话
QLabel::paintEvent(event);
这句话必须有,否则原图像显示不出来。
查了很多资料,今天终于有个结果。
首先重写label类的鼠标事件,和paintEvent事件,这些网上有很多例子。
其次,把label控件升级为自己重写的label类,这样就可以使用ui.imagelabel调用鼠标事件的函数。这些做完之后,可以在label上画矩形了。但是不显示加载的图片,找了很多方法,包括使用信号槽等都不行。
最后发现,需要在paintEvent事件里面加一句话
QLabel::paintEvent(event);
这句话必须有,否则原图像显示不出来。