#include "mywork.h"
#include "ui_mywork.h"
#include <QMenu>
#include <QDebug>
#include <QFileDialog>
#include <QPixmap>
#include <QMessageBox>
myWork::myWork(QWidget *parent)
: QWidget(parent)
, ui(new Ui::myWork)
{
ui->setupUi(this);
ui->toolButton->setEnabled(true);
QMenu *tool_Menu = new QMenu;
tool_Menu->addAction("打开文件");
ui->toolButton->setMenu(tool_Menu);
}
myWork::~myWork()
{
delete ui;
}
//选择文件中的图片
void myWork::on_toolButton_triggered(QAction *arg1)
{
if(arg1->text() == "打开文件")
{
QStringList list = QFileDialog :: getOpenFileNames(this,
"打开图片文件",
"D:/picture",
"image(*.jpg *.png)");
ui->listWidget->addItems(list);
//获得listWidget列表的个数
pic_Maxcount = ui->listWidget->count();
}
}
//选择选项
void myWork::on_toolButton_clicked()
{
ui->toolButton->showMenu();
}
//双击显示图片
void myWork::on_listWidget_itemDoubleClicked(QListWidgetItem *item)
{
pic_Index = ui->listWidget->row(item);
QPixmap pic = QPixmap(item->text());
pic = pic.scaled(ui->label->width(), ui->label->height());
ui->label->setPixmap(pic);
}
//前一张图片
void myWork::on_pushButton_clicked()
{
if(--pic_Index < 0)
{
pic_Index = pic_Maxcount - 1;
}
QPixmap pic = QPixmap(ui->listWidget->item(pic_Index)->text());
pic = pic.scaled(ui->label->width(), ui->label->height());
ui->label->setPixmap(pic);
pha = 0;
}
//后一张图片
void myWork::on_pushButton_2_clicked()
{
if(++pic_Index > pic_Maxcount - 1)
{
pic_Index = 0;
}
QPixmap pic = QPixmap(ui->listWidget->item(pic_Index)->text());
pic = pic.scaled(ui->label->width(), ui->label->height());
ui->label->setPixmap(pic);
pha = 0;
}
//左转
void myWork::on_pushButton_3_clicked()
{
pha += 45;
QString str = ui->listWidget->item(pic_Index)->text();
QPixmap pic = QPixmap(str);
QTransform a;
a.rotate(pha);
pic = pic.transformed(a);
pic = pic.scaled(ui->label->width(), ui->label->height());
ui->label->setPixmap(pic);
}
//右转
void myWork::on_pushButton_4_clicked()
{
pha -= 45;
QString str = ui->listWidget->item(pic_Index)->text();
QPixmap pic = QPixmap(str);
QTransform a;
a.rotate(pha);
pic = pic.transformed(a);
pic = pic.scaled(ui->label->width(), ui->label->height());
ui->label->setPixmap(pic);
}
//关于本程序(使用QMessageBox消息窗体)
void myWork::on_toolButton_2_clicked()
{
QMessageBox::StandardButton result = QMessageBox::information(this,
tr("关于"),
tr("生产与1998"),
QMessageBox :: Ok);
}