保留现场
手动执行update()或者repaint()都不能执行paintEvent函数。
探究原因
如果是代码new出来的控件,检查是否正确显示,比如有没有加入到layout中。或者有没有设置父窗口(可能被其他空间遮挡)。
检查控件width或者height大小是否不为 0。如果为 0,也不会出出发paintEvent。
解决方法
参考 QT 在构造函数中写的控件不显示
手动执行update()或者repaint()都不能执行paintEvent函数。
如果是代码new出来的控件,检查是否正确显示,比如有没有加入到layout中。或者有没有设置父窗口(可能被其他空间遮挡)。
检查控件width或者height大小是否不为 0。如果为 0,也不会出出发paintEvent。
参考 QT 在构造函数中写的控件不显示