首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

Qt 自定义按钮如何显示文字

2012-12-16 
Qt 自定义按钮怎么显示文字Genre::Genre(const QString & text, QWidget *parent):QPushButton(text,paren

Qt 自定义按钮怎么显示文字

Genre::Genre(const QString & text, QWidget *parent)
    :QPushButton(text,parent)
{
    this->setIcon(QIcon("Image/Gen_Button.png"));
    this->setIconSize(QSize(94, 31));
    this->setMask(QBitmap("Image/Gen_Button_B.png"));
    this->setFixedSize(94, 31);
    this->setFocusPolicy(Qt::NoFocus);
}


以上是构造函数。。
我试了很多,有得添加进去以后文字会显示一些出来。
我只是想文字就显示在Button的上面
怎弄啊~?

谢谢了
[最优解释]
不过如果每一个pushbutton都设置一个背景的话,建议用paintEvent,因为setstylesheet在随着按钮不断增多时,效率明显下降很严重。没有paintEvent的效率高,你可以试一下
[其他解释]

  #include <QApplication>
  #include <QPushButton>
   
   int main(int argc,char **argv)
  {
   
      QApplication app(argc,argv);
  
      QPushButton *button = new QPushButton;
  
      button->setText("ok");
  
      button->show();
  
      return app.exec();
  }



我这边测试是好的。

[其他解释]
使用 setStyleSheet(QString("QPushButton{border-image: url(:/Image/Gen_Button.png);}
QPushButton:pressed{border-image:
url(:/Image/Gen_Button_B.png);}"))

在使用
setText();
这样文字和你的背景都有了。
如果要用代码写,上百度很多的

[其他解释]
求帮助啊~~
[其他解释]
setMask是设置整个的button的mask....所以你要想想你的mask应该如何设置哈。

为啥你这里面没有调setText(text)....
[其他解释]
用setText(QString)
[其他解释]
文档里面有
voidsetText ( const QString & text )

下次可以先在Qt 助手里面找找
[其他解释]
setText 会在旁边加一个普通按钮... 不是在 这个图片上面显示..
[其他解释]
用settext或是qtdesigner的property设置
[其他解释]
我不是要这个... 这个肯定是可以的 但是载入的图片没有了啊~

我看了一下  要 paintEvent 重载好像才可以
[其他解释]
重载paintEvent  在其中绘制文本和图片
[其他解释]
肯定有setText()的
[其他解释]
重载paintEvent,然后用drawPixmap画个背景图,再用drawText写个文本应该就可以了
[其他解释]
setText() 可以

热点排行