回复: 如何更改button的文字方向
#11 [hellogritty 03-09 11:22]
引用第10楼yb824于2010-03-09 09:53发表的:
把高度设大一点,宽度设小一点,感觉就是竖着的了
回yb824,这段代码CPU占用很高啊,是setText(txt)引起的,把这行删了以后,txt又显示不出来(虽然有painter.drawText())。有没有什么好的解决方法呢?
#12 [hehui 03-18 08:51]
选用@开头的字体试试~
#13 [many_many 05-04 14:49]
引用第11楼hellogritty于2010-03-09 11:22发表的 :
回yb824,这段代码CPU占用很高啊,是setText(txt)引起的,把这行删了以后,txt又显示不出来(虽然有painter.drawText())。有没有什么好的解决方法呢?
那是因为你坐标没有计算正确!
#14 回 yb824 的帖子 [15805201952 03-23 08:24]
yb824:试下~~~
.h
#include
class MyButton : public QPushButton
....... (2010-03-08 22:18)
这段代码是对QPushButton进行重定义吗,那我使用MyButton定义了一个按键,如何使用button->paintEvent();使按键上的文字旋转呀?
void MyButton::paintEvent(QPaintEvent *event)这个函数中的event不知道如何给。
我把代码改了下,但是按键上的字幕没有旋转。
//void MyButton::paintEvent(QPaintEvent *event)
void MyButton::paintEvent(void)
{
QString txt = this->text();
setText("");
//QPushButton::paintEvent(event);
setText(txt);
QPainter p(this);
p.rotate(90);
p.translate(0, -width());
QRect rect(this->rect().topLeft(), QSize(this->rect().height(), this->rect().width()));
p.drawText(rect, Qt::AlignCenter, this->text() );
p.end();
}
#15 回 hellogritty 的帖子 [15805201952 03-23 08:24]
hellogritty:感谢yb824提供的代码,文字转过来了,可是按钮还是原来的方向,没有随文字一起转,
要想按钮也转,该怎么做呢? (2010-03-09 09:35)
这段代码是对QPushButton进行重定义吗,那我使用MyButton定义了一个按键,如何使用button->paintEvent();使按键上的文字旋转呀?
void MyButton::paintEvent(QPaintEvent *event)这个函数中的event不知道如何给。
我把代码改了下,但是按键上的字幕没有旋转。
//void MyButton::paintEvent(QPaintEvent *event)
void MyButton::paintEvent(void)
{
QString txt = this->text();
setText("");
//QPushButton::paintEvent(event);
setText(txt);
QPainter p(this);
p.rotate(90);
p.translate(0, -width());
QRect rect(this->rect().topLeft(), QSize(this->rect().height(), this->rect().width()));
p.drawText(rect, Qt::AlignCenter, this->text() );
p.end();
}