我想画一个纵向文本,drawText没这个选项。谁能告诉我是哪个函数??
一直有个问题就是想在UI里把一个QLabel对象放在QPushButton上(因为Icon和文本是冲突的,而且需要把文本国际化),但是这样子的话点击label所在范围,QPushButton是不会发送信号的,学了一段时间的事件处理也没把这个问题解决掉。即使是用事件过滤器,但是事件如果未处理,那么会传递到父对象的,QLabel是不可能以QPushButton为父对象的,因此怎么也不可能传递到QPushButton上去(有高手会用事件解决这个问题的麻烦教一下我)。
既然QPainter可以随便自己画文字,那么就自己把文本放上去好了。自己写了一个代码后发现居然没有按钮的样子了,和QWidget一样,平板界面,
查看源代码发现QPushButton自带的paintEvent()应该是绘制了按钮特有的效果部分。于是在自写的paintEvent()代码里最前面加上一句QPushButton::paintEvent(),嘿嘿。终于可以点击文本部分了。唯一的遗憾就是只能设置静态文本,scroll的时候也把按钮的效果给滚动过去了,即使在scroll的后面加QPushButton::paintEvent()没用,应该是请求的画图区域的缘故。
附上纵向绘制的代码
[ 此帖被rqzrqh在2009-10-06 16:35重新编辑 ]