核心代码
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
ui->progressBar->setValue(0);
connect(ui->pushButton,&QPushButton::clicked,this,&Widget::on_view_clicked);
connect(ui->pushButton_2,&QPushButton::clicked,this,&Widget::on_encode_clicked);
connect(ui->pushButton_3,&QPushButton::clicked,this,&Widget::on_exit_clicked);
}
void Widget :: on_view_clicked()
{
filename = QFileDialog::getOpenFileName();
ui->lineEdit->setText(filename);
}
void Widget :: on_encode_clicked()
{
QFile f(filename);
if(!f.open(QIODevice::ReadWrite))
return;
QByteArray buf = f.readAll();
ui->progressBar->setRange(0,buf.length()-1);
for(int i =0;i< buf.length();i++)
{
buf[i] = ~buf[i];
ui->progressBar->setValue(i);
}
f.seek(0);
f.write(buf);
f.close();
}
void Widget :: on_exit_clicked()
{
this->close();
}
Widget::~Widget()
{
delete ui;
}