Skip to content

Commit

Permalink
①修改了README.md和help.md
Browse files Browse the repository at this point in the history
②添加了图像随窗口大小自动缩放
③添加拦截鼠标事件功能
④在窗口关闭时及时销毁
⑤修复翻译语言错误的bug
⑥输出的配置文件中添加了版本号
⑦添加注释
  • Loading branch information
Skythinker616 committed Jul 2, 2020
1 parent c31dca2 commit 71c5d4c
Show file tree
Hide file tree
Showing 21 changed files with 488 additions and 281 deletions.
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# RightDrag(框选识别)
* 本软件是为了练习Qt开发而在课余时间开发的一个小软件
* 软件功能为使用鼠标框选屏幕上的内容,并进行OCR识别或进行翻译,可以选择将截图/识别内容/翻译结果自动复制到剪贴板
### 使用方法见帮助文档
* [help.md](help.md)
## 软件功能
* 使用鼠标框选屏幕上的内容进行**截图**,并进行**OCR识别**或进行**翻译**
* 可以选择将截图/识别内容/翻译结果**自动复制到剪贴板**
* 支持组合键<kbd>Ctrl</kbd> <kbd>Shift</kbd> <kbd>Alt</kbd>
* 悬浮窗模式,可将窗口一直悬浮在桌面顶层
## 使用方法
* 见帮助文档 [help.md](help.md)
3 changes: 2 additions & 1 deletion RightDrag.pro
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ CONFIG += c++11
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
DEFINES += QT_DEPRECATED_WARNINGS \
APP_VERSION=\\\"1.0\\\"

# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
Expand Down
3 changes: 2 additions & 1 deletion aboutdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ AboutDialog::AboutDialog(QWidget *parent) :
{
ui->setupUi(this);
setWindowTitle("关于");
setAttribute(Qt::WA_DeleteOnClose,true);//设置关闭窗口时销毁
}

AboutDialog::~AboutDialog()
Expand All @@ -16,5 +17,5 @@ AboutDialog::~AboutDialog()

void AboutDialog::on_btnReturn_clicked()
{
hide();
close();
}
1 change: 1 addition & 0 deletions aboutdialog.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/*关于信息窗口*/
#ifndef ABOUTDIALOG_H
#define ABOUTDIALOG_H

Expand Down
18 changes: 13 additions & 5 deletions donatedialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,31 @@ DonateDialog::DonateDialog(QWidget *parent) :
ui(new Ui::DonateDialog)
{
ui->setupUi(this);
wechatPixmap=new QPixmap("wechat.png");
alipayPixmap=new QPixmap("alipay.png");
wechatPixmap=QPixmap("wechat.png");
alipayPixmap=QPixmap("alipay.png");
setWindowTitle("捐赠");
setAttribute(Qt::WA_DeleteOnClose,true);
}

DonateDialog::~DonateDialog()
{
delete ui;
}

//显示图片
void DonateDialog::setImg()
{
ui->labelWechat->setPixmap(wechatPixmap->scaled(ui->labelWechat->size(),Qt::KeepAspectRatio, Qt::SmoothTransformation));
ui->labelAlipay->setPixmap(alipayPixmap->scaled(ui->labelAlipay->size(),Qt::KeepAspectRatio, Qt::SmoothTransformation));
ui->labelWechat->setPixmap(wechatPixmap.scaled(ui->scroll_wechat->size(),Qt::KeepAspectRatio, Qt::SmoothTransformation));
ui->labelAlipay->setPixmap(alipayPixmap.scaled(ui->scroll_aliplay->size(),Qt::KeepAspectRatio, Qt::SmoothTransformation));
}

void DonateDialog::on_pushButton_clicked()
{
hide();
close();
}

//窗口大小改变事件,重绘图片
void DonateDialog::resizeEvent(QResizeEvent *)
{
setImg();
}
8 changes: 6 additions & 2 deletions donatedialog.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/*捐赠窗口*/
#ifndef DONATEDIALOG_H
#define DONATEDIALOG_H

Expand All @@ -14,14 +15,17 @@ class DonateDialog : public QDialog
public:
explicit DonateDialog(QWidget *parent = nullptr);
~DonateDialog();
void setImg();
void setImg();//根据控件大小显示图片

private slots:
void on_pushButton_clicked();

private:
Ui::DonateDialog *ui;
QPixmap *wechatPixmap,*alipayPixmap;
QPixmap wechatPixmap,alipayPixmap;//存两个方式的捐赠二维码图片

protected:
void resizeEvent(QResizeEvent *);
};

#endif // DONATEDIALOG_H
181 changes: 117 additions & 64 deletions donatedialog.ui
Original file line number Diff line number Diff line change
Expand Up @@ -65,77 +65,130 @@ background-color: rgb(255, 255, 255);
<number>10</number>
</property>
<item>
<widget class="QWidget" name="widgetWechat" native="true">
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
<widget class="QScrollArea" name="scroll_wechat">
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(255, 255, 255);</string>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>285</width>
<height>307</height>
</rect>
</property>
<item>
<widget class="QLabel" name="labelWechat">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="labelWechat">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QWidget" name="widgetAlipay" native="true">
<property name="enabled">
<widget class="QScrollArea" name="scroll_aliplay">
<property name="autoFillBackground">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
<property name="styleSheet">
<string notr="true">background-color: rgb(255, 255, 255);</string>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_2">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>284</width>
<height>307</height>
</rect>
</property>
<item>
<widget class="QLabel" name="labelAlipay">
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
<layout class="QVBoxLayout" name="verticalLayout_4">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="labelAlipay">
<property name="text">
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
Expand Down
7 changes: 4 additions & 3 deletions grab/floatdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,17 @@ FloatDialog::~FloatDialog()
delete ui;
}

//更改选框大小和位置
void FloatDialog::changeShape(int x, int y, int w, int h)
{
move(x,y);
setFixedSize(w,h);
update();
update();//触发paintEvent
}

void FloatDialog::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setPen(QPen(lineColor,lineWidth,lineSytle));
painter.drawRect(this->rect());
painter.setPen(QPen(lineColor,lineWidth,lineSytle));//设置笔触样式
painter.drawRect(this->rect());//画选框占满整个窗口
}
7 changes: 4 additions & 3 deletions grab/floatdialog.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/*选框窗口*/
#ifndef FLOATDIALOG_H
#define FLOATDIALOG_H

Expand All @@ -16,9 +17,9 @@ class FloatDialog : public QDialog
~FloatDialog();
void changeShape(int x,int y,int w,int h);
void paintEvent(QPaintEvent*);
QColor lineColor;
Qt::PenStyle lineSytle;
int lineWidth;
QColor lineColor;//选框线颜色
Qt::PenStyle lineSytle;//选框线样式
int lineWidth;//选框线粗细

private:
Ui::FloatDialog *ui;
Expand Down
Loading

0 comments on commit 71c5d4c

Please sign in to comment.