首页 / 操作系统 / Linux / 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();}以上便是实现如何在按钮上加入图片,一些关键性的代码都加以分析了,有时间再加以改进,使其功能更加全面。