代码如下: mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
void changeEvent(QEvent *e);
private:
Ui::MainWindow *ui;
QStringList files;
int photonum;
void loadFile();
void showImage(int photonum);
void isNumTrue(int i);
private slots:
private slots:
void on_pButton_clicked();
void on_pushButton_clicked();
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFile>
#include<QDir>
#include<QDebug>
#include<QPalette>
#include<QPixmap>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
loadFile();
QString name;
for(int i=0;i<files.length();i++)
{
name=files.at(i);
qDebug()<<name<<"\n";
}
qDebug()<<files.length()<<"\n";
photonum=2;
showImage(photonum);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
void MainWindow::loadFile()
{
/*QDir dir = QDir::current();
QString path=;*/
QDir dir = QDir("./");
//dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
#if QT_VERSION >= 0x040000
QFileInfoList list = dir.entryInfoList("*.jpg",QDir::AllEntries,QDir::DirsFirst);
for (int i = 0; i < list.size(); ++i)
{
QFileInfo fileInfo = list.at(i);
files.append(dir.absoluteFilePath(fileInfo.fileName()));
}
#else
const QFileInfoList* list = dir.entryInfoList("*.jpg",QDir::AllEntries,QDir::DirsFirst);
if(list)
{
QFileInfoListIterator it( *list );
QFileInfo * fi;
while( (fi=it.current()) != 0 )
{
++it;
files.append(dir.absFilePath(fi->fileName()));
}
}
#endif
}
void MainWindow::isNumTrue(int i)
{
if(i==files.length())
{
i=0;
}
else if(i<0)
{
i=files.length()-1;
}
}
void MainWindow::showImage(int photonum)
{
// isNumTrue(photonum);
//ui->label_1->setPixmap(QPixmap(files.at(photonum-2)));
// isNumTrue(photonum);
//ui->label_2->setPixmap(QPixmap(files.at(photonum-1)));
// isNumTrue(photonum);
ui->label_3->setPixmap(QPixmap(files.at(photonum)));
// isNumTrue(photonum);
//ui->label_4->setPixmap(QPixmap(files.at(photonum+1)));
// ui->label_5->setPixmap(QPixmap(files.at(photonum+2)));
}
void MainWindow::on_pushButton_clicked()
{
++photonum;
/* if(photonum==files.length())
{
photonum=0;
}*/
isNumTrue(photonum);
qDebug()<<photonum<<"n"<<files.at(photonum)<<"\n";
showImage(photonum);
}
void MainWindow::on_pButton_clicked()
{
--photonum;
/* if(photonum<0)
{
photonum=files.length()-1;
}*/
isNumTrue(photonum);
qDebug()<<photonum<<"p"<<files.at(photonum)<<"\n";
showImage(photonum);
}
各位大大帮忙看看问题出在哪?