【Python】GUI开发笔记
一、环境搭建:
1、Pycharm开发工具
- pycharm历史版本
- https://www.jetbrains.com/pycharm/download/other.html
- 破解插件
- https://blog.csdn.net/weixin_50737119/article/details/135628513
2、PYENV 版本管理
Python也有对应的版本管理工具,叫pyenv
这个东西挺奇怪的,直接发布的源码,不是安装包
- https://github.com/pyenv-win/pyenv-win/releases
环境变量直接绑定到bin目录下,会发现pyenv会推荐让你配置这三个变量
- C:\Users\Administrator>pyenv --version
- PYENV variable is not set, recommended to set the variable.
- PYENV_ROOT variable is not set, recommended to set the variable.
- PYENV_HOME variable is not set, recommended to set the variable.
- pyenv 3.1.1
默认的镜像源提供的版本有限,这里参考知乎的博客:
- https://zhuanlan.zhihu.com/p/597559112
windows配置pyenv镜像源:
- 系统变量新建一个kv对变量,key值为 PYTHON_BUILD_MIRROR_URL
- https://jedore.netlify.app/tools/python-mirrors/
2-1、Python本体下载
要是不需要频繁切换版本,可以直接下载本体就好了
- https://www.python.org/downloads/
3、GUI开发库支持
安装python后使用pip包管理工具下载
- pip install PyQt6 -i https://pypi.tuna.tsinghua.edu.cn/simple/
- pip install PyQt6-tools -i https://pypi.tuna.tsinghua.edu.cn/simple/
如果清华镜像源不行(联通网无法连接教育网导致),改用其他源,或者不使用
- http://mirrors.aliyun.com/pypi/simple/
- http://pypi.mirrors.ustc.edu.cn/simple/
- http://pypi.douban.com/simple/
3-1、打包工具库
- pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple/
4、配置PyQT和Pycharm的交互
- https://blog.csdn.net/pyscl01/article/details/131522183/
五、源码打包
打包成可执行文件exe
需要pyinstalller库的支持,先看命令有什么
- C:\Users\Administrator\PycharmProjects\pythonProject> pyinstaller -h
- usage: pyinstaller [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME] [--contents-directory CONTENTS_DIRECTORY] [--add-data SOURCE:DEST]
- [--add-binary SOURCE:DEST] [-p DIR] [--hidden-import MODULENAME] [--collect-submodules MODULENAME] [--collect-data MODULENAME]
- [--collect-binaries MODULENAME] [--collect-all MODULENAME] [--copy-metadata PACKAGENAME]
- [--recursive-copy-metadata PACKAGENAME] [--additional-hooks-dir HOOKSPATH] [--runtime-hook RUNTIME_HOOKS]
- [--exclude-module EXCLUDES] [--splash IMAGE_FILE] [-d {all,imports,bootloader,noarchive}] [--optimize LEVEL]
- [--python-option PYTHON_OPTION] [-s] [--noupx] [--upx-exclude FILE] [-c] [-w]
- [--hide-console {hide-late,minimize-early,hide-early,minimize-late}]
- [-i <FILE.ico or FILE.exe,ID or FILE.icns or Image or "NONE">] [--disable-windowed-traceback] [--version-file FILE]
- [-m <FILE or XML>] [-r RESOURCE] [--uac-admin] [--uac-uiaccess] [--argv-emulation] [--osx-bundle-identifier BUNDLE_IDENTIFIER]
- [--target-architecture ARCH] [--codesign-identity IDENTITY] [--osx-entitlements-file FILENAME] [--runtime-tmpdir PATH]
- [--bootloader-ignore-signals] [--distpath DIR] [--workpath WORKPATH] [-y] [--upx-dir UPX_DIR] [--clean] [--log-level LEVEL]
- scriptname [scriptname ...]
- positional arguments:
- scriptname Name of scriptfiles to be processed or exactly one .spec file. If a .spec file is specified, most options are unnecessary
- and are ignored.
- options:
- -h, --help show this help message and exit
- -v, --version Show program version info and exit.
- --distpath DIR Where to put the bundled app (default: ./dist)
- --workpath WORKPATH Where to put all the temporary work files, .log, .pyz and etc. (default: ./build)
- -y, --noconfirm Replace output directory (default: SPECPATH\dist\SPECNAME) without asking for confirmation
- --upx-dir UPX_DIR Path to UPX utility (default: search the execution path)
- --clean Clean PyInstaller cache and remove temporary files before building.
- --log-level LEVEL Amount of detail in build-time console messages. LEVEL may be one of TRACE, DEBUG, INFO, WARN, DEPRECATION, ERROR, FATAL
- (default: INFO). Also settable via and overrides the PYI_LOG_LEVEL environment variable.
- What to generate:
- -D, --onedir Create a one-folder bundle containing an executable (default)
- -F, --onefile Create a one-file bundled executable.
- --specpath DIR Folder to store the generated spec file (default: current directory)
- -n NAME, --name NAME Name to assign to the bundled app and spec file (default: first script's basename)
- --contents-directory CONTENTS_DIRECTORY
- For onedir builds only, specify the name of the directory in which all supporting files (i.e. everything except the
- executable itself) will be placed in. Use "." to re-enable old onedir layout without contents directory.
- What to bundle, where to search:
- --add-data SOURCE:DEST
- Additional data files or directories containing data files to be added to the application. The argument value should be
- in form of "source:dest_dir", where source is the path to file (or directory) to be collected, dest_dir is the
- destination directory relative to the top-level application directory, and both paths are separated by a colon (:). To
- put a file in the top-level application directory, use . as a dest_dir. This option can be used multiple times.
- --add-binary SOURCE:DEST
- Additional binary files to be added to the executable. See the ``--add-data`` option for the format. This option can be
- used multiple times.
- -p DIR, --paths DIR A path to search for imports (like using PYTHONPATH). Multiple paths are allowed, separated by ``';'``, or use this
- option multiple times. Equivalent to supplying the ``pathex`` argument in the spec file.
- --hidden-import MODULENAME, --hiddenimport MODULENAME
- Name an import not visible in the code of the script(s). This option can be used multiple times.
- --collect-submodules MODULENAME
- Collect all submodules from the specified package or module. This option can be used multiple times.
- --collect-data MODULENAME, --collect-datas MODULENAME
- Collect all data from the specified package or module. This option can be used multiple times.
- --collect-binaries MODULENAME
- Collect all binaries from the specified package or module. This option can be used multiple times.
- --collect-all MODULENAME
- Collect all submodules, data files, and binaries from the specified package or module. This option can be used multiple
- times.
- --copy-metadata PACKAGENAME
- Copy metadata for the specified package. This option can be used multiple times.
- --recursive-copy-metadata PACKAGENAME
- Copy metadata for the specified package and all its dependencies. This option can be used multiple times.
- --additional-hooks-dir HOOKSPATH
- An additional path to search for hooks. This option can be used multiple times.
- --runtime-hook RUNTIME_HOOKS
- Path to a custom runtime hook file. A runtime hook is code that is bundled with the executable and is executed before any
- other code or module to set up special features of the runtime environment. This option can be used multiple times.
- --exclude-module EXCLUDES
- Optional module or package (the Python name, not the path name) that will be ignored (as though it was not found). This
- option can be used multiple times.
- --splash IMAGE_FILE (EXPERIMENTAL) Add an splash screen with the image IMAGE_FILE to the application. The splash screen can display progress
- updates while unpacking.
- How to generate:
- -d {all,imports,bootloader,noarchive}, --debug {all,imports,bootloader,noarchive}
- Provide assistance with debugging a frozen
- application. This argument may be provided multiple
- times to select several of the following options.
- - all: All three of the following options.
- - imports: specify the -v option to the underlying
- Python interpreter, causing it to print a message
- each time a module is initialized, showing the
- place (filename or built-in module) from which it
- is loaded. See
- https://docs.python.org/3/using/cmdline.html#id4.
- - bootloader: tell the bootloader to issue progress
- messages while initializing and starting the
- bundled app. Used to diagnose problems with
- missing imports.
- - noarchive: instead of storing all frozen Python
- source files as an archive inside the resulting
- executable, store them as files in the resulting
- output directory.
- --optimize LEVEL Bytecode optimization level used for collected python modules and scripts. For details, see the section “Bytecode
- Optimization Level” in PyInstaller manual.
- --python-option PYTHON_OPTION
- Specify a command-line option to pass to the Python interpreter at runtime. Currently supports "v" (equivalent to "--
- debug imports"), "u", "W <warning control>", "X <xoption>", and "hash_seed=<value>". For details, see the section
- "Specifying Python Interpreter Options" in PyInstaller manual.
- -s, --strip Apply a symbol-table strip to the executable and shared libs (not recommended for Windows)
- --noupx Do not use UPX even if it is available (works differently between Windows and *nix)
- --upx-exclude FILE Prevent a binary from being compressed when using upx. This is typically used if upx corrupts certain binaries during
- compression. FILE is the filename of the binary without path. This option can be used multiple times.
- Windows and Mac OS X specific options:
- -c, --console, --nowindowed
- Open a console window for standard i/o (default). On Windows this option has no effect if the first script is a '.pyw'
- file.
- -w, --windowed, --noconsole
- Windows and Mac OS X: do not provide a console window for standard i/o. On Mac OS this also triggers building a Mac OS
- .app bundle. On Windows this option is automatically set if the first script is a '.pyw' file. This option is ignored on
- *NIX systems.
- --hide-console {hide-late,minimize-early,hide-early,minimize-late}
- Windows only: in console-enabled executable, have bootloader automatically hide or minimize the console window if the
- program owns the console window (i.e., was not launched from an existing console window).
- -i <FILE.ico or FILE.exe,ID or FILE.icns or Image or "NONE">, --icon <FILE.ico or FILE.exe,ID or FILE.icns or Image or "NONE">
- FILE.ico: apply the icon to a Windows executable. FILE.exe,ID: extract the icon with ID from an exe. FILE.icns: apply the
- icon to the .app bundle on Mac OS. If an image file is entered that isn't in the platform format (ico on Windows, icns on
- Mac), PyInstaller tries to use Pillow to translate the icon into the correct format (if Pillow is installed). Use "NONE"
- to not apply any icon, thereby making the OS show some default (default: apply PyInstaller's icon). This option can be
- used multiple times.
- --disable-windowed-traceback
- Disable traceback dump of unhandled exception in windowed (noconsole) mode (Windows and macOS only), and instead display
- a message that this feature is disabled.
- Windows specific options:
- --version-file FILE Add a version resource from FILE to the exe.
- -m <FILE or XML>, --manifest <FILE or XML>
- Add manifest FILE or XML to the exe.
- -r RESOURCE, --resource RESOURCE
- Add or update a resource to a Windows executable. The RESOURCE is one to four items, FILE[,TYPE[,NAME[,LANGUAGE]]]. FILE
- can be a data file or an exe/dll. For data files, at least TYPE and NAME must be specified. LANGUAGE defaults to 0 or may
- be specified as wildcard * to update all resources of the given TYPE and NAME. For exe/dll files, all resources from FILE
- will be added/updated to the final executable if TYPE, NAME and LANGUAGE are omitted or specified as wildcard *. This
- option can be used multiple times.
- --uac-admin Using this option creates a Manifest that will request elevation upon application start.
- --uac-uiaccess Using this option allows an elevated application to work with Remote Desktop.
- Mac OS specific options:
- --argv-emulation Enable argv emulation for macOS app bundles. If enabled, the initial open document/URL event is processed by the
- bootloader and the passed file paths or URLs are appended to sys.argv.
- --osx-bundle-identifier BUNDLE_IDENTIFIER
- Mac OS .app bundle identifier is used as the default unique program name for code signing purposes. The usual form is a
- hierarchical name in reverse DNS notation. For example: com.mycompany.department.appname (default: first script's
- basename)
- --target-architecture ARCH, --target-arch ARCH
- Target architecture (macOS only; valid values: x86_64, arm64, universal2). Enables switching between universal2 and
- single-arch version of frozen application (provided python installation supports the target architecture). If not target
- architecture is not specified, the current running architecture is targeted.
- --codesign-identity IDENTITY
- Code signing identity (macOS only). Use the provided identity to sign collected binaries and generated executable. If
- signing identity is not provided, ad-hoc signing is performed instead.
- --osx-entitlements-file FILENAME
- Entitlements file to use when code-signing the collected binaries (macOS only).
- Rarely used special options:
- --runtime-tmpdir PATH
- Where to extract libraries and support files in `onefile` mode. If this option is given, the bootloader will ignore any
- temp-folder location defined by the run-time OS. The ``_MEIxxxxxx``-folder will be created here. Please use this option
- only if you know what you are doing. Note that on POSIX systems, PyInstaller's bootloader does NOT perform shell-style
- environment variable expansion on the given path string. Therefore, using environment variables (e.g., ``~`` or
- ``$HOME``) in path will NOT work.
- --bootloader-ignore-signals
- Tell the bootloader to ignore signals rather than forwarding them to the child process. Useful in situations where for
- example a supervisor process signals both the bootloader and the child (e.g., via a process group) to avoid signalling
- the child twice.
主要参数设定信息:
- # 指定打包输出路径 默认当前路径下的dist目录
- # Where to put the bundled app (default: ./dist)
- --distpath DIR
- # 指定打包时的临时文件
- # Where to put all the temporary work files, .log, .pyz and etc. (default: ./build)
- --workpath WORKPATH
- # 打包构建之前清除临时文件
- # Clean PyInstaller cache and remove temporary files before building.
- --clean
- # 指定打包时的日志输出级别
- # Amount of detail in build-time console messages. LEVEL may be one of TRACE, DEBUG, INFO, WARN, DEPRECATION, ERROR, FATAL
- # (default: INFO). Also settable via and overrides the PYI_LOG_LEVEL environment variable.
- --log-level LEVEL
- # 创建包含可执行文件的单文件夹包(默认)
- # Create a one-folder bundle containing an executable (default)
- -D, --onedir
- # 创建一个单文件的执行文件。
- # Create a one-file bundled executable.
- -F, --onefile
- # 指定打包后的文件名称
- # Name to assign to the bundled app and spec file (default: first script's basename)
- -n NAME, --name NAME Name to assign to the bundled app and spec file (default: first script's basename)
- # 指定文件的icon图标
- # FILE.ico: apply the icon to a Windows executable. FILE.exe,ID: extract the icon with ID from an exe. FILE.icns: apply the
- # icon to the .app bundle on Mac OS. If an image file is entered that isn't in the platform format (ico on Windows, icns on
- # Mac), PyInstaller tries to use Pillow to translate the icon into the correct format (if Pillow is installed). Use "NONE"
- # to not apply any icon, thereby making the OS show some default (default: apply PyInstaller's icon). This option can be
- # used multiple times.
- -i <FILE.ico or FILE.exe,ID or FILE.icns or Image or "NONE">, --icon <FILE.ico or FILE.exe,ID or FILE.icns or Image or "NONE">
- # 仅窗口化(不要执行终端进程)
- # Windows and Mac OS X: do not provide a console window for standard i/o. On Mac OS this also triggers building a Mac OS
- # .app bundle. On Windows this option is automatically set if the first script is a '.pyw' file. This option is ignored on
- # *NIX systems.
- -w, --windowed, --noconsole
打包测试:
代码:
- from PyQt6.QtWidgets import QApplication, QWidget
- import sys
- # Press the green button in the gutter to run the script.
- if __name__ == '__main__':
- app = QApplication(sys.argv)
- window = QWidget()
- window.setWindowTitle('PyQt6 Example')
- window.setGeometry(100, 100, 800, 600)
- window.show()
- sys.exit(app.exec())
执行命令:pyinstaller -F -w main.py -n pyqt-example -i demo.ico
- C:\Users\Administrator\PycharmProjects\pythonProject> pyinstaller -F -w main.py -n pyqt-example -i demo.ico
- 218 INFO: PyInstaller: 6.8.0, contrib hooks: 2024.7
- 218 INFO: Python: 3.11.9
- 226 INFO: Platform: Windows-10-10.0.22631-SP0
- 226 INFO: Python environment: C:\Users\Administrator\PycharmProjects\pythonProject\.venv
- 227 INFO: wrote C:\Users\Administrator\PycharmProjects\pythonProject\pyqt-example.spec
- 230 INFO: Module search paths (PYTHONPATH):
- ['C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Scripts\\pyinstaller.exe',
- 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\python311.zip',
- 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\DLLs',
- 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib',
- 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311',
- 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv',
- 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages',
- 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject']
- 389 INFO: checking Analysis
- 389 INFO: Building Analysis because Analysis-00.toc is non existent
- 389 INFO: Running Analysis Analysis-00.toc
- 389 INFO: Target bytecode optimization level: 0
- 389 INFO: Initializing module dependency graph...
- 390 INFO: Caching module graph hooks...
- 404 INFO: Analyzing base_library.zip ...
- 1392 INFO: Loading module hook 'hook-encodings.py' from 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages\\PyInstaller\\hooks'...
- 2787 INFO: Loading module hook 'hook-pickle.py' from 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages\\PyInstaller\\hooks'...
- 3736 INFO: Loading module hook 'hook-heapq.py' from 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages\\PyInstaller\\hooks'...
- 4042 INFO: Caching module dependency graph...
- 4131 INFO: Looking for Python shared library...
- 4145 INFO: Using Python shared library: C:\Users\Administrator\AppData\Local\Programs\Python\Python311\python311.dll
- 4145 INFO: Analyzing C:\Users\Administrator\PycharmProjects\pythonProject\main.py
- 4149 INFO: Loading module hook 'hook-PyQt6.py' from 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages\\PyInstaller\\hooks'...
- 4236 INFO: Loading module hook 'hook-PyQt6.QtWidgets.py' from 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages\\PyInstaller\\hooks'...
- 4368 INFO: Processing module hooks...
- 4414 INFO: Loading module hook 'hook-PyQt6.QtCore.py' from 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages\\PyInstaller\\hooks'...
- 4570 INFO: Loading module hook 'hook-PyQt6.QtGui.py' from 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages\\PyInstaller\\hooks'...
- 4918 INFO: Performing binary vs. data reclassification (108 entries)
- 4951 INFO: Looking for ctypes DLLs
- 4961 INFO: Analyzing run-time hooks ...
- 4963 INFO: Including run-time hook 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_inspect.py'
- 4965 INFO: Including run-time hook 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pyqt6.py'
- 4968 INFO: Processing pre-find module path hook _pyi_rth_utils from 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages\\PyInstaller\\hooks\\pre_find_module_path\\hook-_pyi_rth_utils.py'.
- 4969 INFO: Loading module hook 'hook-_pyi_rth_utils.py' from 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages\\PyInstaller\\hooks'...
- 4972 INFO: Including run-time hook 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgutil.py'
- 4979 INFO: Looking for dynamic libraries
- 5085 INFO: Extra DLL search directories (AddDllDirectory): ['C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages\\PyQt6\\Qt6\\bin']
- 5085 INFO: Extra DLL search directories (PATH): ['C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\.venv\\Lib\\site-packages\\PyQt6\\Qt6\\bin']
- 5979 INFO: Warnings written to C:\Users\Administrator\PycharmProjects\pythonProject\build\pyqt-example\warn-pyqt-example.txt
- 5997 INFO: Graph cross-reference written to C:\Users\Administrator\PycharmProjects\pythonProject\build\pyqt-example\xref-pyqt-example.html
- 6020 INFO: checking PYZ
- 6020 INFO: Building PYZ because PYZ-00.toc is non existent
- 6020 INFO: Building PYZ (ZlibArchive) C:\Users\Administrator\PycharmProjects\pythonProject\build\pyqt-example\PYZ-00.pyz
- 6258 INFO: Building PYZ (ZlibArchive) C:\Users\Administrator\PycharmProjects\pythonProject\build\pyqt-example\PYZ-00.pyz completed successfully.
- 6283 INFO: checking PKG
- 6283 INFO: Building PKG because PKG-00.toc is non existent
- 6283 INFO: Building PKG (CArchive) pyqt-example.pkg
- 14096 INFO: Building PKG (CArchive) pyqt-example.pkg completed successfully.
- 14100 INFO: Bootloader C:\Users\Administrator\PycharmProjects\pythonProject\.venv\Lib\site-packages\PyInstaller\bootloader\Windows-64bit-intel\runw.exe
- 14100 INFO: checking EXE
- 14100 INFO: Building EXE because EXE-00.toc is non existent
- 14100 INFO: Building EXE from EXE-00.toc
- 14100 INFO: Copying bootloader EXE to C:\Users\Administrator\PycharmProjects\pythonProject\dist\pyqt-example.exe
- 14111 INFO: Copying icon to EXE
- 14302 INFO: Copying 0 resources to EXE
- 14302 INFO: Embedding manifest in EXE
- 14482 INFO: Appending PKG archive to EXE
- 14513 INFO: Fixing EXE headers
- 14694 INFO: Building EXE from EXE-00.toc completed successfully.
- (.venv) PS C:\Users\Administrator\PycharmProjects\pythonProject>
打包成安装程序:
- https://blog.csdn.net/2301_76161259/article/details/134327383
【Python】GUI开发笔记的更多相关文章
- Python GUI开发环境的搭建
原文:Python GUI开发环境的搭建 最近对Python的开发又来了兴趣,对于Python的开发一直停留在一个表面层的认识,玩的部分比较大. Python的入手简单,语法让人爱不释手,在网络通信方 ...
- Python GUI开发,效率提升10倍的方法!
1 框架简介 这个框架的名字叫 PySimpleGUI,它完全基于Python语言,能非常方便地开发GUI界面,代码量相比现有框架减少50%到90%.并且,它提供了极为友好的Python风格的接口,大 ...
- Python 学习开发笔记之IO操作
文件或者目录的路径操作 获取当前工作目录 import os import sys cwd = os.getcwd() 路径的拼接 os.path.join(path,"dir") ...
- python3.4学习笔记(九) Python GUI桌面应用开发工具选择
python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...
- 【python】python GUI开发框架介绍
Python GUI开发的库不少.最常用的的也就几个. Tkinter -Tk是Python自带的GUI库, 上手简单, 做个简单界面基本够用了,但是不够美观,功能不全面. wxPython -开源免 ...
- Python:GUI之tkinter学习笔记1控件的介绍及使用
相关内容: tkinter的使用 1.模块的导入 2.使用 3.控件介绍 Tk Button Label Frame Toplevel Menu Menubutton Canvas Entry Mes ...
- python开发_IDEL(Python GUI)的使用方法
在这篇blog"Python开发_python的安装"里面你会了解到python的安装. 安装后,我们希望能够运用python GUI来运行一些我们编写的程序,那么Python G ...
- Python GUI编程(Tkinter) windows界面开发
Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py 1 #!C:\Python27\python.e ...
- 【学习笔记】第一章 python安全开发简介
1.1为什么黑客喜欢用python? python为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容,被形象的称为“”内置电池“”,用python开发,许多功能不必从零 ...
- python开发笔记-通过xml快捷获取数据
今天在做下python开发笔记之如何通过xml快捷获取数据,下面以调取nltk语料库为例: import nltk nltk.download() showing info https://raw.g ...
随机推荐
- uniapp 复选框问题
之前在开发中遇到过使用colorui组件库的时候,uniapp自带的复选框和colorui的样式有冲突,以至于出现复选框中的勾号一直不显示,后来发现是因为colorui的样式问题 问题的根源: 解决方 ...
- 什么是spring框架?
spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,是一个分层的javaEE一站式轻量级开源框架
- .NET周刊【6月第2期 2024-06-09】
国内文章 C#开源实用的工具类库,集成超过1000多种扩展方法 https://www.cnblogs.com/Can-daydayup/p/18230586 文章介绍了一个免费的C#工具类库Z.Ex ...
- 590. N 叉树的后序遍历 | Javascript 递归实现
题目 题目链接:590. N 叉树的后序遍历 解题思路 递归后续遍历,正常的思路 然后有一个要注意的地方就是如果js定义了全局变量来存储结果,每次调用函数之前一定要记得清空,否则答案会带上之前的结果. ...
- mybatis执行insert语句后,返回当前插入数据主键的方法 keyProperty区分大小写
mybatis执行insert语句后,返回当前插入数据主键的方法 keyProperty区分大小写 #这样查询没有返回主键值 <insert id="addLog" useG ...
- 生产环境部署Nginx服务器双机热备部署-keepalived(多种模式教程)
前言:今天演示下生产环境keepalived的部署方式,安装模式有很多,比如说主备模型和双主模型,主备分:抢占模式 和 非抢占模式.这里我会一一展开说具体怎么配置 一.双节点均部署Nginx: 第一步 ...
- 我对《RAG/大模型/非结构化数据知识库类产品》技术架构的思考、杂谈
1.前言 在6.28/29的稀土掘金开发者大会RAG专场上,我们公司CEO员外代表TorchV分享了我们在<RAG在企业应用中落地的难点与创新> 其中最后分享了两个观点: AI在应用场景落 ...
- 使用Sqlcel操作数据库整理数据视频
链接:https://pan.baidu.com/s/1G4FJbLbN0oXAu61syWxCOA 提取码:noyz
- Vue2 整理(一):基础篇
前言 首先说明:要直接上手简单得很,看官网熟悉大概有哪些东西.怎么用的,然后简单练一下就可以做出程序来了,最多两天,无论Vue2还是Vue3,就都完全可以了,Vue3就是比Vue2多了一些东西而已,所 ...
- JS--正则表达式--手稿