非常抱歉,我没有理解您的意思。如果您想要将按钮也旋转90度并垂直显示,可以在 paintEvent
中添加一行代码来旋转坐标系:
void VerticalButton::paintEvent(QPaintEvent *event) {
QPushButton::paintEvent(event);
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
// 将坐标系原点移动到按钮中心
painter.translate(width() / 2, height() / 2);
// 将坐标系旋转90度(顺时针)
QTransform transform;
transform.rotate(90);
painter.setTransform(transform);
// 绘制文本
}
这样,在绘制文本之前,坐标系就会被旋转90度,按钮和文本都会变成垂直显示。