Qt开发软件下开发:
主函数
#include
#include "icon.h"
#include
#include
#includeint main(int argc, char *argv[])
{
QApplication a(argc, argv);
Icon w;
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));//国际标准字体
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
w.setEnabled(false);
w.setDisabled(false);
w.setFixedSize( w.width (),w.height ());
w.show();//全屏显示w.shouFullScreen();
QFont f("wenquanyi",12);
a.setFont(f);
QColor q(255,0,0);
q.setRed(255);
return a.exec();
}
头文件:
#ifndef ICON_H
#define ICON_H
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
namespace Ui {
class Icon;
}
class Icon : public QMainWindow
{
Q_OBJECT
public:
explicit Icon(QWidget *parent = 0);
~Icon();
private:
Ui::Icon *ui;
QTimer *timer;
QPixmap pix;
QLabel *label,*label1;
private slots:
void on_pushButton_3_clicked();
void on_left_clicked();
void on_pushButton_clicked();
void on_small_clicked();
void on_big_clicked();
void on_down_clicked();
void on_up_clicked();
void on_stop_clicked();
void on_start_clicked();
void imageshow();
};
#endif // ICON_H
cpp文件:
#include "icon.h"
#include "ui_icon.h"
#include
int i=0,j=0;
QString imagelist[100];//定义长度为一百的数组用来存放打开的图片,在linux中暂时只能显示png格式的图片
//QString image[5]={":/2.png",":/3.png",":/4.png",":/5.png",":/7.png"};
QStringList::iterator it;//迭代器
Icon::Icon(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Icon)
{
ui->setupUi(this);
label=new QLabel;
// label1=new QLabel(tr("电子相册"),this );
// 函数explicit QLabel(const QString &text, QWidget *parent=0, Qt::WindowFlags f=0);
// label1->setGeometry(140,200,120,40);
/*****************************************添加背景图片************************************/
QImage image1;
image1.load(":/8.png"); //括号内为图片的相对目录
QImage image2 = image1.scaled(320,240);
QPalette palette;
palette.setBrush(this->backgroundRole(),QBrush(image2));
this->setPalette(palette);
/****************************************将滚动条添加到label上************************************/
//ui->label->setAlignment(Q);
ui->scrollArea->setWidget(label);
ui->scrollArea->setAlignment(Qt::AlignHCenter);
timer=new QTimer();
/*****************************************信号与槽************************************/
connect(timer,SIGNAL(timeout()),SLOT(imageshow()));
}
Icon::~Icon()
{
delete ui;
}
/*****************************************开始播放图片************************************/
void Icon::on_start_clicked()
{
timer->start(1000);//每隔一秒开始显示一张图片
ui->shuzi->setNum(++i);//在Label上显示已经显示的图片的个数
}
/*****************************************停止播放图片************************************/
void Icon::on_stop_clicked()
{
timer->stop();
}
/*****************************************自动显示图片************************************/
void Icon::imageshow()
{
pix.load(imagelist[i]);//先下载图片
pix=pix.scaled(label->width(),label->height(),Qt::KeepAspectRatio);//设置显示图片的大小和label的大小一致
label->setPixmap(pix);//将图片显示在面板上
ui->shuzi->setNum(i);
i++;
if(i>j)
i=0;
}
/*****************************************显示上一张图片**********