现在的位置: 首页 > 综合 > 正文

Qt设置按钮的图标

2013年08月02日 ⁄ 综合 ⁄ 共 1475字 ⁄ 字号 评论关闭

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

#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();
}

抱歉!评论已关闭.