Giter Site home page Giter Site logo

Comments (3)

HaujetZhao avatar HaujetZhao commented on July 24, 2024 1

Qt Designer 用过,只感觉很不好用,因为 setCentralWidget 和 setCentralLayout 一直没找到,将 QTabWidget 设为 CentralWidget 都不知道怎么做,还有把一个 widget 的布局设成 QHboxLayout 也找不到在哪操作,弄界面真是急死我了。就干脆手写界面了。

中文变量是为了我写代码的时候理解程序、快速定位用的。看英文程序脑壳疼。后面写英文变量只是懒得切换输入法了(能写出那么多的中文注释是因为我用着这个软件自带的语音输入写的,比打字和打英文快多了)。你可以看到里面许多英文很长的变量,因为我不太会用缩写,看着缩写也头疼,button 写成 btn 是我勉强能接受的,但也宁愿写成 button。倒是目前有许多变量名也不规划。也欢迎规范下我的变量命名。

我不反对 contributor 添加其它语言的注释,但中文注释万不能删,要不然我自己都看不懂我的程序了。。。我自己的母语是中文,在代码中优先使用中文能使我更有效率(看中文句子理解意思的速度是看英文的10倍以上)。而代码的国际化是一个单独的进程,我就不想参与了,毕竟我的英文水平不高,写出的英文变量名我自己理解不了,他人也理解不了,我欢迎志愿者将我的中文变量换成规范、好理解的英文变量。再次说明:软件的 UI、提示信息首选中文(其它语言的 UI 靠翻译文件解决),并且中文注释万不能删,要不然我自己都看不懂我的程序了。。。

我个人不是个程序员,只是受不了市面上没有好的 ffmpeg GUI,个人处理音视频太费劲,才写的这个程序。代码规范都没了解过。后面我会先阅读下代码规范。不规范的地方只能慢慢改了。实际上,我的水平是真的菜,这里面几乎所有代码、方法,都是我第一次写和用,仅仅是为了做到关闭窗口后结束 QThread 中的 Shell=True 的 FFmpeg subprocess,就让我查了一天一夜,才解决。里面许多不起眼的地方,都是查了半天才弄出一行。

至于代码分模块。。。刚开始是想分模块的,只是这几个原因让我写到了一个文件中:

  • PyCharm 中 Ctrl+Shift+- 可以一键将所有块折叠,在一个文档中找各个 class def 很方便。
  • 我个人喜欢一个文件干所有事
  • 考虑到这个软件的功能其实也不多,现在,功能就已经做完了。(如果不考虑添加谷歌语音识别引擎的话)
  • 没写过程序。。。

而且我已经没有什么新功能想加了(其实是能力所限了,写个视频预览窗口都不会)。接下来就是维护、修 bug 了。如果没有加新功能的必要的话,再花大力气,分模块了。

最重要的:我还要考研。。。没时间学编程相关知识了

所以,现在做完了多语言设置,我就开始只负责修 bug 、接 pull request 了。如果有志愿者愿意,可以加入帮助页面的 QQ 群,即时地讨论,我也可以授予项目的管理员权限。

下图是 pycharm 中一键收起后的样子:

image

image

image

from quickcut.

shniubobo avatar shniubobo commented on July 24, 2024

作者第一次写程序能写出这么多功能已经很强了,辛苦了👍,另外祝考研顺利!

折叠后的确看起来舒服很多了,如果程序不打算再扩展的话也的确没有分模块的必要了,毕竟这个的工作量真的会很大。

另外界面没有必要完全在Qt Designer中完成,也没有必要完全在代码中完成,如果有选项在Qt Designer里找不到的话也可以把这些选项写在代码里,其他大致框架在Designer里完成,这样至少比现在的代码会直观很多,而且代码量也会相应地减少。

from quickcut.

taseikyo avatar taseikyo commented on July 24, 2024

🤣学到了学到了,原来还有 PyQt5.uic.loadUi 这么方便的方法,之前都是用 pyuic5 转的 hhh

from quickcut.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.