Qt 按钮如何实现背景图片的加载

 一个简单的按钮图片加载代码,一般人出现的问题都是加载的图片可能会很小,怎么解决这个问题呢?来看看下面的代码吧,对于相关的迷惑点我会给出讲解,同时在学习这个代码的过程中我们也学学其他的一些功能实现。如何显示中文、如何设置字体以及颜色等。

  #include <QApplication>

  #include <QPushButton>

  #include <QLabel>

  #include <QGridLayout>

  #include <QTextCodec>

  int main(int argc, char *argv[])

  {

   QApplication app(argc, argv);

  //以下三行用于支持中文的现实

   QTextCodec::setCodecForCStrings(QTextCodec::codecForName("gb2312"));

   QTextCodec::setCodecForLocale(QTextCodec::codecForName("gb2312"));

   QTextCodec::setCodecForTr( QTextCodec::codecForName("gb2312"));

   QWidget *widget = new QWidget();

   widget->setFixedSize(800, 600);

   widget->move(200,200);

   QPixmap *pixmap = NULL;

   pixmap = new QPixmap(200, 150);

   pixmap->load(":/castle.jpg");

   QIcon *icon = new QIcon(*pixmap);

   QPushButton *button = new QPushButton(*icon, "", widget);

  //以下代码为加载图片的关键所在,因为默认加载的图片大小可能与按钮本身的尺寸相差较大,

  //需要自己来调节,所以可以在此人为的指定加载后的图片大小

   button->setIconSize(QSize(190, 150));

   button->setFixedSize(200, 150);

   QLabel *label = new QLabel(widget);

   QLabel *label1=new QLabel(widget);

   label->setPixmap(*pixmap);

   label->setFixedSize(200, 150);

   label1->setText("Qt 按钮背景图片的加载");

  //以下代码用于设置label1字体显示的大小

   label1->setStyleSheet("font-size : 53px");

  //以下三句代码与以上代码可以实现相同的功能,但是区别在于,以下三句代码的作用范围是对整个界面的字体都产生作用。

   //QFont font = app .font();

   //font.setPointSize(53);

   //app.setFont(font);

  //设置label1的颜色

   QPalette pe;

   pe.setColor(QPalette::WindowText,Qt::blue);

   label1->setPalette(pe);

   QGridLayout *layout=new QGridLayout;

   layout->addWidget(button,0,0);

   layout->addWidget(label,0,1);

   layout->addWidget(label1,1,0,2,1);

   widget->setLayout(layout);

   widget->showNormal();

   return app.exec();

  }

  以上便是实现如何在按钮上加入图片,一些关键性的代码都加以分析了,有时间再加以改进,使其功能更加全面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值