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() 可以