-
Notifications
You must be signed in to change notification settings - Fork 162
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
========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
1 parent
f107761
commit cde7539
Showing
42 changed files
with
306 additions
and
221 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
pip |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
BIN
+320 KB
(110%)
PyMe/_internal/selenium/webdriver/common/linux/selenium-manager
Binary file not shown.
Binary file modified
BIN
+387 KB
(100%)
PyMe/_internal/selenium/webdriver/common/macos/selenium-manager
Binary file not shown.
Binary file modified
BIN
-72 KB
(98%)
PyMe/_internal/selenium/webdriver/common/windows/selenium-manager.exe
Binary file not shown.
Oops, something went wrong.