Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Satu baris kod menukar program Python kepada aplikasi antara muka grafik

Satu baris kod menukar program Python kepada aplikasi antara muka grafik

王林
王林ke hadapan
2023-05-03 13:46:06908semak imbas

Project Gooey menyokong penukaran (hampir) mana-mana program konsol Python 2 atau 3 kepada aplikasi GUI dengan satu baris kod.

Satu baris kod menukar program Python kepada aplikasi antara muka grafik

1 Permulaan pantas

Sebelum anda bermula, anda mesti memastikan bahawa Python dan pip mempunyai telah berjaya dipasang dalam Pada komputer anda, jika tidak, anda boleh melawati artikel ini: Panduan Pemasangan Python Terperinci Super untuk memasangnya.

Jika anda menggunakan Python untuk analisis data, anda boleh memasang Anaconda secara langsung: Anaconda, pembantu yang baik untuk analisis data dan perlombongan Python, mempunyai Python dan pip terbina dalam

Selain itu, ia disyorkan agar anda menggunakan VSCode Editor, ia mempunyai banyak kelebihan: rakan kongsi terbaik untuk pengaturcaraan Python—panduan terperinci VSCode.

Sila pilih mana-mana kaedah berikut untuk memasukkan arahan untuk memasang kebergantungan:

  1. Persekitaran Windows Open Cmd (Start-Run-CMD) .
  2. Persekitaran MacOS Open Terminal (perintah+ruang untuk memasuki Terminal).
  3. Jika anda menggunakan editor VSCode atau Pycharm, anda boleh terus menggunakan Terminal di bahagian bawah antara muka

(Kaedah 1) Pasang Gooey Cara paling mudah ialah memasang Gooey melalui PIP:

pipGooey

(Kaedah 2 Sebagai alternatif, anda boleh memasang Gooey

git clone https://github.com/chriskiehl/Gooey.git

dengan mengklonkan projek ke direktori tempatan, nyahzipnya, masukkan). folder, dan jalankan setup.py:

python setup.py install

2. Cara menggunakan

Gooey Dengan melampirkan penghias ringkas pada fungsi utama, dan kemudian menggunakan GooeyParser, anda boleh Parameter yang perlu digunakan divisualisasikan sebagai kotak teks, kotak pilihan atau kotak pemilihan fail.

Sebagai contoh, dalam artikel muat turun literatur scihub, kita perlu memasukkan dua parameter: 1. Kata kunci, 2. Bilangan artikel yang dimuat turun Menggunakan Gooey, anda boleh menukarnya seperti ini:

gooeyGooey, GooeyParser


 :
parser = GooeyParser(description=)
parser.add_argument(, help=, widget=)
parser.add_argument(, help=)
parser.add_argument(, help=)
args = parser.parse_args()
search(args.keywords, int(args.limit), args.path)

GooeyParser adalah sama dengan ArgumentParser Anda boleh menambah parameter input menggunakan add_argument Perbezaannya ialah GooeyParser menyediakan pilihan visual:

parser.add_argument(, help=, widget=)

Dalam baris kod ini. parameter widget disediakan kepada pembolehubah args.path Pemilih direktori (widget="DirChooser") disediakan untuk mengingatkan pengguna tentang peranan pemilih 🎜>

Satu baris kod menukar program Python kepada aplikasi antara muka grafikApabila anda tidak memberikan parameter widget , program menggunakan kotak input teks secara lalai.

parser.add_argument(, help=)
parser.add_argument(, help=)

Satu baris kod menukar program Python kepada aplikasi antara muka grafikGooey akan mengatur parameter anda secara automatik, jadi anda tidak perlu risau tentang paparan setiap kotak teks atau kotak pilihan.

dalam kod:

args = parser.parse_args()
search(args.keywords, int(args.limit), args.path)
args = parser.parse_args() boleh menukar semua input teks oleh pengguna kepada nilai pembolehubah objek yang sepadan, melalui args .var Ekstrak nilai pembolehubah yang sepadan secara langsung.

Kod lengkap dan kesan program visualisasi mudah ini adalah seperti berikut:

import asyncio
from scihub import SciHub
from gooey import Gooey, GooeyParser

 :
"""
搜索相关论文并下载

Args:
keywords (str): 关键词
limit (int): 篇数
path (str): 下载路径
"""
sh = SciHub()
result = sh.search(keywords, limit=limit)
print(result)

loop = asyncio.get_event_loop()
# 获取所有需要下载的scihub直链
tasks = [sh.async_get_direct_url(paper["url"]) for paper in result.get("papers", [])]
all_direct_urls = loop.run_until_complete(asyncio.gather(*tasks))
print(all_direct_urls)

# 下载所有论文
loop.run_until_complete(sh.async_download(loop, all_direct_urls, path=path))
loop.close()

@Gooey
 :
parser = GooeyParser(description="中文环境可用的scihub下载器 - @Python实用宝典")
parser.add_argument('path', help="下载路径", widget="DirChooser")
parser.add_argument('keywords', help="关键词")
parser.add_argument('limit', help="下载篇数")
args = parser.parse_args()
search(args.keywords, int(args.limit), args.path)

main()

Jika anda mahu kod ini berjalan dengan sempurna, sila gabungkan dengan scihub carian kumpulan kesusasteraan super python dan muat turun alat yang anda perlu tahu py.

Anda juga boleh menggunakan program anda sendiri untuk antara muka grafik, tidak mengapa.

Kesannya adalah seperti berikut:

Satu baris kod menukar program Python kepada aplikasi antara muka grafik

3. Komponen widget yang disokong

Semua komponen widget yang disokong adalah seperti berikut:

1 Kotak semak widget="CheckBox"

Satu baris kod menukar program Python kepada aplikasi antara muka grafik2

widget ="DropDown"

Satu baris kod menukar program Python kepada aplikasi antara muka grafik3 kotak pilihan yang saling eksklusif

widget="RadioGroup"

<.>

4. Kotak pilihan untuk pelbagai jenis sasaranSatu baris kod menukar program Python kepada aplikasi antara muka grafik

File selection box widget="FileChooser"

Directory selection box widget="DirChooser"

Widget Kotak pemilihan berbilang fail="MultiFileChooser"

Widget direktori penyimpanan fail="FileSaver"

Satu baris kod menukar program Python kepada aplikasi antara muka grafik

5.日期/时间选择器 widget="DateChooser/TimeChooser"

Satu baris kod menukar program Python kepada aplikasi antara muka grafik

6.密码输入框 wiget="PasswordField"

Satu baris kod menukar program Python kepada aplikasi antara muka grafik

7.多选列表框 widget="Listbox"

Satu baris kod menukar program Python kepada aplikasi antara muka grafik

8.颜色选择器 widget="ColourChooser"

Satu baris kod menukar program Python kepada aplikasi antara muka grafik

9.可过滤的下拉框 widget="FilterableDropdown"

Satu baris kod menukar program Python kepada aplikasi antara muka grafik

10.滑片 widget="Slider"

Satu baris kod menukar program Python kepada aplikasi antara muka grafik

四、打包

在一切都测试完毕后使用正常后,你可以通过 pyinstaller 将这个可视化程序打包成exe可执行文件。

1.编写 PyInstaller buildspec

PyInstaller使用 buildspec 来确定如何捆绑项目。你可以在Python实用宝典后台回复 buildspec下载 build.spec.txt.

下载后你只需要改两行代码:

Satu baris kod menukar program Python kepada aplikasi antara muka grafik

如下所示:

Satu baris kod menukar program Python kepada aplikasi antara muka grafik

在路径前面带r,可以不用输入两个斜杆 '' 哦。

2.执行打包命令

为了能够使用 PyInstaller, 我们需要使用pip安装这个模块:

pip install pyinstaller

然后进入 build.spec.text 所在文件夹,执行以下命令打包程序:

pyinstaller build.spec.txt

Satu baris kod menukar program Python kepada aplikasi antara muka grafik

打包完成后会在当前文件夹下生成一个dist文件夹,里面就包含了你打包生成的可执行文件,打包成功。


Atas ialah kandungan terperinci Satu baris kod menukar program Python kepada aplikasi antara muka grafik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam