Skip to content

Commit

Permalink
v1.4.1.5
Browse files Browse the repository at this point in the history
========1.4.1.5========
1. Fixed a bug in copying and creating skins for controls when applying skins.
2. Fix bug in tray menu code generation.
3. Fix version number check bug.
4. Fix the handling of shortcut buttons for adapting multiple controls to font size.
5. Improve direct drag to Frame and LabelFrame processing.
6. Improve the inclusion of module exceptions in pure packaging
  • Loading branch information
honghaier-game committed Apr 5, 2024
1 parent f107761 commit cde7539
Show file tree
Hide file tree
Showing 42 changed files with 306 additions and 221 deletions.
Binary file modified PyMe/Ico/ICO_VIP.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified PyMe/PyMe.exe
Binary file not shown.
20 changes: 20 additions & 0 deletions PyMe/Wizard/En/VideoCapture.wiz
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name=VideoCapture
lessonid=26
difficulty=Simple
reward=0
introduction=Understand the function of developing video capture using components.
stepindex=0
1=Drag from the left toolbar to create a Canvas control and place it in Form_1, with a size of 800x600 pixels.["Create_Canvas","SetW_Canvas_1_800","SetH_Canvas_1_600"]
2=Find the "VideoCapture" component from the "Other" category on the left toolbar and drag it into Form_1.["Create_VideoCapture"]
3=Select the VideoCapture component, drag the tree item "Canvas_1" from the control tree in the upper right corner to the "Canvas" property value bar of the current "VideoCapture" component, and press Ctrl+S to save the current interface.["DragToAttribute_VideoCapture_Canvas_1","SaveFile_<%=ProjName%>.py"]
4=Drag from the left toolbar to create a Button control and place it on the right side of Canvas_1. Set the text content to "Start Recording".["Create_Button","SetText_启动录制"]
5=Then press ALT and drag to create a Button control and place it under Button 1. Set the text content to "Save Screenshot".["CopyCreate_Button_2","SetText_保存截图"]
6=Then press ALT and drag to create a Button control and place it under Button 2. Set the text content to "stop recording".["CopyCreate_Button_3","SetText_停止录制"]
7=Double click the "Start Camera" button to enter the click event response function. After wrapping, right-click and select "Start Recording" under "VideoCapture_1" in the "Interface Functions".["BindEvent_Button_1_onCommand","FunctionMenu_VideoCapture_StartCapture"]
8=Start a new line below the function, select the "Save Screenshot" button in the thumbnail of the right-hand assistant bar, select the "Button Click" event, and click the "Bind" button to create an event response function.["BindEvent_Button_2_onCommand"]
9=Enter the event response function, right-click after line wrapping, and select "Call Save File Box" in "System Functions".["FunctionMenu_saveFile"]
10=Change the Python format saved in the code to PNG format, and write the code "if savePath:" after line breaks.["WriteCode_if savePath:"]
11=After line breaking, right-click and select "Save Video as Image" under "VideoCapture_1" in the "Interface Functions". In the generated code, modify the parameter 1 of SaveImageToFile to savePath.["FunctionMenu_VideoCapture_SaveImageToFile","WriteCode_VideoCapture_1.SaveImageToFile(savePath,callbackFunction = None)"]
12=Select the "Stop Recording" button in the thumbnail of the right-hand assistant bar, select the "Click" event, and click the "Bind" button to create an event response function.["BindEvent_Button_3_onCommand"]
13=After line breaking, right-click and select "Stop Recording" under "VideoCapture_1" in the "Interface Functions" to generate the corresponding code.["FunctionMenu_VideoCapture_Stop"]
14=Click on Run.["Run"]
20 changes: 20 additions & 0 deletions PyMe/Wizard/视频捕捉.wiz
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name=视频组件
lessonid=26
difficulty=简单
reward=0
introduction=了解使用组件开发视频采集的功能。
stepindex=11
1=从左边工具条拖动创建一个Canvas控件放到Form_1中,设置大小为800x600像素。["Create_Canvas","SetW_Canvas_1_800","SetH_Canvas_1_600"]
2=从左边工具条的“其它”分类中找到“VideoCapture"组件,拖入到Form_1中。["Create_VideoCapture"]
3=选中VideoCapture组件,从右上角的控件树中把树项“Canvas_1”拖动到当前“VideoCapture”组件的“Canvas”属性值栏中,按Ctrl+S保存当前界面。["DragToAttribute_VideoCapture_Canvas_1","SaveFile_<%=ProjName%>.py"]
4=从左边工具条拖动创建一个Button控件放到Canvas_1右边,设置文字内容为“启动录制”。["Create_Button","SetText_启动录制"]
5=再按着ALT拖动复制创建一个Button控件放到Button_1下边,设置文字内容为“保存截图”。["CopyCreate_Button_2","SetText_保存截图"]
6=再按着ALT拖动复制创建一个Button控件放到Button_2下边,设置文字内容为“停止录制”。["CopyCreate_Button_3","SetText_停止录制"]
7=双击“启动摄像头”按钮,进入点击事件响应函数,换行后鼠标右键单击,在“界面函数”中的“VideoCapture_1”下选择“开始录像”。["BindEvent_Button_1_onCommand","FunctionMenu_VideoCapture_StartCapture"]
8=在函数下面另起一行,在右侧助手栏缩略图中选择选择“保存截图”按钮,选中“按钮点击”事件,并点击“绑定”按钮,创建事件响应函数。["BindEvent_Button_2_onCommand"]
9=进入事件响应函数,换行后鼠标右键单击,在“系统函数”中选择“调用保存文件框”。["FunctionMenu_saveFile"]
10=将代码中保存Python格式改为PNG格式,换行后编写代码“if savePath:”。["WriteCode_if savePath:"]
11=换行后鼠标右键单击,在“界面函数”中的“VideoCapture_1”下选择“将视频保存为图片”,在生成的代码中将SaveImageToFile的参数1修改为savePath。["FunctionMenu_VideoCapture_SaveImageToFile","WriteCode_VideoCapture_1.SaveImageToFile(savePath,callbackFunction = None)"]
12=在右侧助手栏缩略图中选择选择“停止录制”按钮,选中“点击”事件,并点击“绑定”按钮,创建事件响应函数。["BindEvent_Button_3_onCommand"]
13=换行后鼠标右键单击,在“界面函数”中的“VideoCapture_1”下选择“停止录制”,生成对应代码。["FunctionMenu_VideoCapture_Stop"]
14=点击运行。["Run"]
Binary file modified PyMe/_internal/BrowserFrame.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/FunctionDictionary.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/Language_C.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/Language_C2.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/Language_E.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/Language_J.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/Language_K.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/PackProjPyd.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/PyMe2DGameEngine.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/PyMe3DGameEngine.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/PyMeClass.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/PyMeDesigner.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/PyMeFunLib.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/PyMeFuns.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/PyMeGameFile.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/PyMeHighLight.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/PyMeTemplate.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/PyMeTool.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/PyMeValues.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/PyMeWriter.cp38-win_amd64.pyd
Binary file not shown.
Binary file modified PyMe/_internal/Webbrowser.cp38-win_amd64.pyd
Binary file not shown.
1 change: 1 addition & 0 deletions PyMe/_internal/flask-3.0.2.dist-info/INSTALLER
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pip
28 changes: 28 additions & 0 deletions PyMe/_internal/flask-3.0.2.dist-info/LICENSE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
Copyright 2010 Pallets

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
116 changes: 116 additions & 0 deletions PyMe/_internal/flask-3.0.2.dist-info/METADATA
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
Metadata-Version: 2.1
Name: Flask
Version: 3.0.2
Summary: A simple framework for building complex web applications.
Maintainer-email: Pallets <[email protected]>
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Flask
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Requires-Dist: Werkzeug>=3.0.0
Requires-Dist: Jinja2>=3.1.2
Requires-Dist: itsdangerous>=2.1.2
Requires-Dist: click>=8.1.3
Requires-Dist: blinker>=1.6.2
Requires-Dist: importlib-metadata>=3.6.0; python_version < '3.10'
Requires-Dist: asgiref>=3.2 ; extra == "async"
Requires-Dist: python-dotenv ; extra == "dotenv"
Project-URL: Changes, https://flask.palletsprojects.com/changes/
Project-URL: Chat, https://discord.gg/pallets
Project-URL: Documentation, https://flask.palletsprojects.com/
Project-URL: Donate, https://palletsprojects.com/donate
Project-URL: Issue Tracker, https://github.com/pallets/flask/issues/
Project-URL: Source Code, https://github.com/pallets/flask/
Provides-Extra: async
Provides-Extra: dotenv

Flask
=====

Flask is a lightweight `WSGI`_ web application framework. It is designed
to make getting started quick and easy, with the ability to scale up to
complex applications. It began as a simple wrapper around `Werkzeug`_
and `Jinja`_ and has become one of the most popular Python web
application frameworks.

Flask offers suggestions, but doesn't enforce any dependencies or
project layout. It is up to the developer to choose the tools and
libraries they want to use. There are many extensions provided by the
community that make adding new functionality easy.

.. _WSGI: https://wsgi.readthedocs.io/
.. _Werkzeug: https://werkzeug.palletsprojects.com/
.. _Jinja: https://jinja.palletsprojects.com/


Installing
----------

Install and update using `pip`_:

.. code-block:: text

$ pip install -U Flask

.. _pip: https://pip.pypa.io/en/stable/getting-started/


A Simple Example
----------------

.. code-block:: python

# save this as app.py
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
return "Hello, World!"

.. code-block:: text

$ flask run
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)


Contributing
------------

For guidance on setting up a development environment and how to make a
contribution to Flask, see the `contributing guidelines`_.

.. _contributing guidelines: https://github.com/pallets/flask/blob/main/CONTRIBUTING.rst


Donate
------

The Pallets organization develops and supports Flask and the libraries
it uses. In order to grow the community of contributors and users, and
allow the maintainers to devote more time to the projects, `please
donate today`_.

.. _please donate today: https://palletsprojects.com/donate


Links
-----

- Documentation: https://flask.palletsprojects.com/
- Changes: https://flask.palletsprojects.com/changes/
- PyPI Releases: https://pypi.org/project/Flask/
- Source Code: https://github.com/pallets/flask/
- Issue Tracker: https://github.com/pallets/flask/issues/
- Chat: https://discord.gg/pallets

58 changes: 58 additions & 0 deletions PyMe/_internal/flask-3.0.2.dist-info/RECORD
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
../../Scripts/flask.exe,sha256=3HSbS74CAcrZbzqF3G3F2HVmcnGvb_wC2pwgynCUN64,108368
flask-3.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
flask-3.0.2.dist-info/LICENSE.rst,sha256=SJqOEQhQntmKN7uYPhHg9-HTHwvY-Zp5yESOf_N9B-o,1475
flask-3.0.2.dist-info/METADATA,sha256=5SsBudAoun3E_3ZSRXJLB2V3NAdALovsQMKUvzqcJfM,3588
flask-3.0.2.dist-info/RECORD,,
flask-3.0.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
flask-3.0.2.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
flask-3.0.2.dist-info/entry_points.txt,sha256=bBP7hTOS5fz9zLtC7sPofBZAlMkEvBxu7KqS6l5lvc4,40
flask/__init__.py,sha256=6xMqdVA0FIQ2U1KVaGX3lzNCdXPzoHPaa0hvQCNcfSk,2625
flask/__main__.py,sha256=bYt9eEaoRQWdejEHFD8REx9jxVEdZptECFsV7F49Ink,30
flask/__pycache__/__init__.cpython-38.pyc,,
flask/__pycache__/__main__.cpython-38.pyc,,
flask/__pycache__/app.cpython-38.pyc,,
flask/__pycache__/blueprints.cpython-38.pyc,,
flask/__pycache__/cli.cpython-38.pyc,,
flask/__pycache__/config.cpython-38.pyc,,
flask/__pycache__/ctx.cpython-38.pyc,,
flask/__pycache__/debughelpers.cpython-38.pyc,,
flask/__pycache__/globals.cpython-38.pyc,,
flask/__pycache__/helpers.cpython-38.pyc,,
flask/__pycache__/logging.cpython-38.pyc,,
flask/__pycache__/sessions.cpython-38.pyc,,
flask/__pycache__/signals.cpython-38.pyc,,
flask/__pycache__/templating.cpython-38.pyc,,
flask/__pycache__/testing.cpython-38.pyc,,
flask/__pycache__/typing.cpython-38.pyc,,
flask/__pycache__/views.cpython-38.pyc,,
flask/__pycache__/wrappers.cpython-38.pyc,,
flask/app.py,sha256=TQfhvSlv1QpaPHeeRz_Ke7JmiSFMMHT-rJR4tqsEHdc,59706
flask/blueprints.py,sha256=H7u4HzNn--riGMTt5GkxUHpYRzCav-WDGSKNnBSEMcU,3160
flask/cli.py,sha256=eegT_64cSOqaKOwI_Am3XwaCSJPZ9UEJ6EmSL0qg8xg,35833
flask/config.py,sha256=QiL9KkQT8RWc0HU2AE26Yw5mdOkNsKv8TEFEbXkqhJk,13328
flask/ctx.py,sha256=4atDhJJ_cpV1VMq4qsfU4E_61M1oN93jlS2H9gjrl58,15120
flask/debughelpers.py,sha256=PGIDhStW_efRjpaa3zHIpo-htStJOR41Ip3OJWPYBwo,6080
flask/globals.py,sha256=XdQZmStBmPIs8t93tjx6pO7Bm3gobAaONWkFcUHaGas,1713
flask/helpers.py,sha256=tYrcQ_73GuSZVEgwFr-eMmV69UriFQDBmt8wZJIAqvg,23084
flask/json/__init__.py,sha256=hLNR898paqoefdeAhraa5wyJy-bmRB2k2dV4EgVy2Z8,5602
flask/json/__pycache__/__init__.cpython-38.pyc,,
flask/json/__pycache__/provider.cpython-38.pyc,,
flask/json/__pycache__/tag.cpython-38.pyc,,
flask/json/provider.py,sha256=q6iB83lSiopy80DZPrU-9mGcWwrD0mvLjiv9fHrRZgc,7646
flask/json/tag.py,sha256=aXslvQyO4QpxviWJqxhyOj0CCQKlYXq1r0H9DKqiEY8,9280
flask/logging.py,sha256=8sM3WMTubi1cBb2c_lPkWpN0J8dMAqrgKRYLLi1dCVI,2377
flask/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
flask/sansio/README.md,sha256=-0X1tECnilmz1cogx-YhNw5d7guK7GKrq_DEV2OzlU0,228
flask/sansio/__pycache__/app.cpython-38.pyc,,
flask/sansio/__pycache__/blueprints.cpython-38.pyc,,
flask/sansio/__pycache__/scaffold.cpython-38.pyc,,
flask/sansio/app.py,sha256=ZF0Yy610NKSpdJ1d6qtG4L2RkCmzngu0G9FFXZf4O_M,38209
flask/sansio/blueprints.py,sha256=Tqe-7EkZ-tbWchm8iDoCfD848f0_3nLv6NNjeIPvHwM,24637
flask/sansio/scaffold.py,sha256=9SSSC6A_zzXhcEVYf9wkrKx2r4uDqfIWsnRNYSvDclU,30879
flask/sessions.py,sha256=bIpZRwiTfnYJn3ikVnCPcF2kNtyRz0dfpsuMADIpSJc,14518
flask/signals.py,sha256=V7lMUww7CqgJ2ThUBn1PiatZtQanOyt7OZpu2GZI-34,750
flask/templating.py,sha256=2TcXLT85Asflm2W9WOSFxKCmYn5e49w_Jkg9-NaaJWo,7537
flask/testing.py,sha256=3BFXb3bP7R5r-XLBuobhczbxDu8-1LWRzYuhbr-lwaE,10163
flask/typing.py,sha256=ZavK-wV28Yv8CQB7u73qZp_jLalpbWdrXS37QR1ftN0,3190
flask/views.py,sha256=B66bTvYBBcHMYk4dA1ScZD0oTRTBl0I5smp1lRm9riI,6939
flask/wrappers.py,sha256=m1j5tIJxIu8_sPPgTAB_G4TTh52Q-HoDuw_qHV5J59g,5831
Empty file.
4 changes: 4 additions & 0 deletions PyMe/_internal/flask-3.0.2.dist-info/WHEEL
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Wheel-Version: 1.0
Generator: flit 3.9.0
Root-Is-Purelib: true
Tag: py3-none-any
3 changes: 3 additions & 0 deletions PyMe/_internal/flask-3.0.2.dist-info/entry_points.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[console_scripts]
flask=flask.cli:main

Empty file.
Empty file.
Empty file.
Binary file modified PyMe/_internal/selenium/webdriver/common/linux/selenium-manager
Binary file not shown.
Binary file modified PyMe/_internal/selenium/webdriver/common/macos/selenium-manager
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit cde7539

Please sign in to comment.