mirror of
https://github.com/HaujetZhao/CapsWriter.git
synced 2025-07-13 13:02:08 +08:00
将截取 sys.stdout 的过程放到了 tab 中
取消了一些 createDB 的 print 提示 使用 __file__ 的绝对路径添加当前目录和 bin 目录到环境变量
This commit is contained in:
parent
c471e901ec
commit
c711dfc66c
4
.gitignore
vendored
4
.gitignore
vendored
@ -5,10 +5,9 @@ __pycache__
|
||||
*.mp4
|
||||
*.mkv
|
||||
*.wav
|
||||
.DS_Store
|
||||
.idea
|
||||
.DS_Store
|
||||
*info
|
||||
|
||||
*database.db
|
||||
*test.py
|
||||
*.7z
|
||||
@ -18,3 +17,4 @@ __pycache__
|
||||
*.afphoto
|
||||
icon*.png
|
||||
视频封面.png
|
||||
|
||||
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
@ -1,11 +1,9 @@
|
||||
# -*- coding: UTF-8 -*-
|
||||
|
||||
import os, sys, time
|
||||
try:
|
||||
os.chdir(os.path.dirname(__file__)) # 更改工作目录,指向正确的当前文件夹
|
||||
sys.path.append(os.path.dirname(__file__)) # 将当前目录导入 python 寻找 package 和 moduel 的变量
|
||||
except:
|
||||
print('更改使用路径失败,不过没关系')
|
||||
|
||||
os.chdir(os.path.dirname(os.path.abspath(__file__))) # 更改工作目录,指向正确的当前文件夹
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__))) # 将当前目录导入 python 寻找 package 和 moduel 的变量
|
||||
# os.environ['PATH'] += os.pathsep + os.path.abspath('./bin') # 将可执行文件的目录加入环境变量
|
||||
|
||||
from PySide2.QtWidgets import *
|
||||
@ -23,11 +21,11 @@ from moduels.component.NormalValue import 常量
|
||||
|
||||
def 高分屏变量设置(app):
|
||||
os.environ['QT_SCALE_FACTOR'] = '1'
|
||||
app.setAttribute(Qt.AA_EnableHighDpiScaling)
|
||||
QCoreApplication.instance().setAttribute(Qt.AA_UseHighDpiPixmaps)
|
||||
|
||||
|
||||
def main():
|
||||
QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
|
||||
app = QApplication(sys.argv)
|
||||
高分屏变量设置(app)
|
||||
createDB()
|
||||
|
@ -19,8 +19,8 @@ def createDB():
|
||||
value text
|
||||
)''')
|
||||
else:
|
||||
print('偏好设置表单已存在')
|
||||
#
|
||||
# print('偏好设置表单已存在')
|
||||
pass
|
||||
result = cursor.execute(f'select * from sqlite_master where name = "{语音引擎表单名}";')
|
||||
if result.fetchone() == None:
|
||||
cursor.execute(f'''create table {语音引擎表单名} (
|
||||
@ -33,7 +33,8 @@ def createDB():
|
||||
AccessKeySecret text
|
||||
)''')
|
||||
else:
|
||||
print('语音引擎表单名已存在')
|
||||
# print('语音引擎表单名已存在')
|
||||
pass
|
||||
#
|
||||
# result = cursor.execute(f'select * from sqlite_master where name = "{皮肤表单名}";')
|
||||
# if result.fetchone() == None:
|
||||
|
@ -4,7 +4,7 @@ from PySide2.QtWidgets import *
|
||||
from PySide2.QtGui import *
|
||||
|
||||
from moduels.component.NormalValue import 常量
|
||||
from moduels.component.Stream import Stream
|
||||
|
||||
from moduels.gui.Tab_CapsWriter import Tab_CapsWriter
|
||||
# from moduels.gui.Tab_Stdout import Tab_Stdout
|
||||
from moduels.gui.Tab_Config import Tab_Config
|
||||
@ -34,10 +34,9 @@ class MainWindow(QMainWindow):
|
||||
# 定义多个不同功能的 tab
|
||||
self.设置标签页 = Tab_Config() # 设置页要在前排加载,以确保一些设置加载成功
|
||||
self.CapsWriter标签页 = Tab_CapsWriter() # 主要功能的 tab
|
||||
# self.打印输出标签页 = Tab_Stdout()
|
||||
self.帮助标签页 = Tab_Help()
|
||||
|
||||
self.标准输出流 = Stream()
|
||||
#
|
||||
|
||||
|
||||
|
||||
@ -54,33 +53,17 @@ class MainWindow(QMainWindow):
|
||||
# self.设置标签页.状态栏消息.connect(lambda 消息, 时间: self.状态栏.showMessage(消息, 时间))
|
||||
self.帮助标签页.状态栏消息.connect(lambda 消息, 时间: self.状态栏.showMessage(消息, 时间))
|
||||
|
||||
self.标准输出流.newText.connect(self.CapsWriter标签页.更新控制台输出)
|
||||
|
||||
pass
|
||||
|
||||
def initValues(self):
|
||||
# self.adjustSize()
|
||||
# self.setGeometry(QStyle(Qt.LeftToRight, Qt.AlignCenter, self.size(), QApplication.desktop().availableGeometry()))
|
||||
常量.状态栏 = self.状态栏
|
||||
sys.stdout = self.标准输出流
|
||||
|
||||
self.setWindowIcon(QIcon(常量.图标路径))
|
||||
self.setWindowTitle('CapsWriter 语音输入工具')
|
||||
self.setWindowFlag(Qt.WindowStaysOnTopHint) # 始终在前台
|
||||
print("""\n软件介绍:
|
||||
|
||||
CapsWriter,顾名思义,就是按下大写锁定键来打字的工具。它的具体作用是:当你按下键盘上的大写锁定键后,软件开始语音识别,当你松开大写锁定键时,识别的结果就可以立马上屏。
|
||||
|
||||
目前软件内置了对阿里云一句话识别 API 的支持。如果你要使用,就需要先在阿里云上实名认证,申请语音识别 API,在设置页面添加一个语音识别引擎。
|
||||
|
||||
具体申请阿里云 API 的方法,可以参考我这个视频:https://www.bilibili.com/video/BV1qK4y1s7Fb/
|
||||
|
||||
添加上引擎后,在当前页面选择一个引擎,点击启用按钮,就可以进行语音识别了!嗯
|
||||
|
||||
启用后,在实际使用中,只要按下 CapsLock 键,软件就会立刻开始录音:
|
||||
|
||||
如果只是单击 CapsLock 后松开,录音数据会立刻被删除;
|
||||
如果按下 CapsLock 键时长超过 0.3 秒,就会开始连网进行语音识别,松开 CapsLock 键时,语音识别结果会被立刻输入。
|
||||
|
||||
所以你只需要按下 CapsLock 键,无需等待,就可以开始说话,因为当你按下按下 CapsLock 键的时候,程序就开始录音了。说完后,松开,识别结果立马上屏。\r\n""")
|
||||
|
||||
self.show()
|
||||
|
||||
|
@ -3,11 +3,12 @@
|
||||
from PySide2.QtWidgets import *
|
||||
from PySide2.QtGui import *
|
||||
from PySide2.QtCore import *
|
||||
import os, re, subprocess, time
|
||||
import sys, os, re, subprocess, time
|
||||
|
||||
import pyaudio
|
||||
|
||||
# from moduels.component.QLEdit_FilePathQLineEdit import QLEdit_FilePathQLineEdit
|
||||
from moduels.component.Stream import Stream
|
||||
from moduels.component.NormalValue import 常量
|
||||
from moduels.component.QEditBox_StdoutBox import QEditBox_StdoutBox
|
||||
# from moduels.component.SpaceLine import QHLine, QVLine
|
||||
@ -53,7 +54,11 @@ class Tab_CapsWriter(QWidget):
|
||||
self.停止按钮 = QPushButton('停止 CapsWriter')
|
||||
self.启停按钮Box布局 = QHBoxLayout()
|
||||
|
||||
self.标准输出流 = Stream()
|
||||
|
||||
def initLayouts(self):
|
||||
self.标准输出流.newText.connect(self.更新控制台输出)
|
||||
|
||||
self.引擎选择Box布局.addWidget(self.引擎选择下拉框)
|
||||
|
||||
self.控制台输出Box布局.addWidget(self.控制台输出框)
|
||||
@ -78,12 +83,28 @@ class Tab_CapsWriter(QWidget):
|
||||
def 更新控制台输出(self, 文本):
|
||||
self.控制台输出框.print(文本)
|
||||
|
||||
|
||||
def initValues(self):
|
||||
self.引擎线程 = None
|
||||
# self.aliClient = ali_speech.NlsClient()
|
||||
# self.aliClient.set_log_level('WARNING') # 设置 client 输出日志信息的级别:DEBUG、INFO、WARNING、ERROR
|
||||
self.停止按钮.setDisabled(True)
|
||||
sys.stdout = self.标准输出流
|
||||
print("""\n软件介绍:
|
||||
|
||||
CapsWriter,顾名思义,就是按下大写锁定键来打字的工具。它的具体作用是:当你按下键盘上的大写锁定键后,软件开始语音识别,当你松开大写锁定键时,识别的结果就可以立马上屏。
|
||||
|
||||
目前软件内置了对阿里云一句话识别 API 的支持。如果你要使用,就需要先在阿里云上实名认证,申请语音识别 API,在设置页面添加一个语音识别引擎。
|
||||
|
||||
具体申请阿里云 API 的方法,可以参考我这个视频:https://www.bilibili.com/video/BV1qK4y1s7Fb/
|
||||
|
||||
添加上引擎后,在当前页面选择一个引擎,点击启用按钮,就可以进行语音识别了!嗯
|
||||
|
||||
启用后,在实际使用中,只要按下 CapsLock 键,软件就会立刻开始录音:
|
||||
|
||||
如果只是单击 CapsLock 后松开,录音数据会立刻被删除;
|
||||
如果按下 CapsLock 键时长超过 0.3 秒,就会开始连网进行语音识别,松开 CapsLock 键时,语音识别结果会被立刻输入。
|
||||
|
||||
所以你只需要按下 CapsLock 键,无需等待,就可以开始说话,因为当你按下按下 CapsLock 键的时候,程序就开始录音了。说完后,松开,识别结果立马上屏。\r\n""")
|
||||
|
||||
def 启动引擎(self):
|
||||
if self.引擎线程 != None: return
|
||||
|
Loading…
Reference in New Issue
Block a user