如何使用WYSIWYG Python GUI 设计工具快速设计出子视窗及产出程序码呢?

Python GUI中如果只有一个主视窗那将会很不好用,那该如何快速设计出不同的子视窗呢?
网路上有非常多关於PyQT或pySide2的教学, 都是直接开记事本写程序码後就出现UI了或者是使用qt designer 後在命令列底下下复杂的参数指令PyUIC 去产生程序码,但笔者超不爱这样的做法。因为太麻烦又不直观,笔者想要的是像C# 一样,使用拖拉的方式就可以设计好GUI并且可以方便的自动产生出相对应的程序码後就可以用了 ...

使用工具

  • pyside2-designer

快速设计好不同子视窗的方式

  1. 打开pyside2-designer
  2. 建立一个新的widget (子视窗都需要使用这个模式)
  3. 设计UI , 新增第三个子视窗 (原本已经设计一个主视窗及第二个子视窗)
  4. 汇出程序码
    • 选取要汇出程序码的UI (例如: 第三个视窗)

      [笔记] 观察图中红框处,代表是笔者点选的部分,绿框的部分标题列颜色较淡,代表未被选取。产生程序码的功能,可以点选不同的UI就直接产生相对应的程序码。非常方便
    • 使用menu\ 表单\View Python Code

/images/emoticon/emoticon66.gif

那,主程序的部分呢?

  1. 首先要汇入所有视窗的python 档
  • 主视窗: p3
  • 第二视窗: p2s
  • 第三视窗: p3s
    [笔记] 由於子视窗汇入的名称都一样,笔者建议在後面加不同的别名做区隔
from PySide2.QtWidgets import QApplication
from PySide2.QtWidgets import *
from p3 import Ui_MainWindow
from p2s import Ui_Form as Ui_second
from p3s import Ui_Form as Ui_third
import sys
  1. 在主视窗的class中引入第二个视窗及建立第二个视窗的class
  • 绿框处: 笔者设计一个按钮, 按下後会开启第二个视窗 并设定label的背景颜色为绿色
  • 红框处: 第二个视窗的class
  1. 依样画葫芦, 在第二个视窗中心引入第三个视窗及建立第三个视窗的class
  • 绿框处: 设定label的背景色为黄色
  • 红框处: 设计一个按钮, 按下後会开启第三个视窗 并设定label的背景颜色为黄色

执行效果:

参考资料


<<:  DAY17-EXCEL统计分析:T检定介绍

>>:  Singleton 单例模式

Day 17 - [语料库模型] 05-实体对应

在语句中常会出现概念相似的词,包括某类物品、地名、时间...等。例如,轮椅、拐杖、助行器、电动床都属...

[Day2] CSS + JS Clock

[Day2] CSS + JS Clock 运用 CSS 和 Javascript 做一个虚拟时钟 ...

Day17边框(CSS)

Border 边框样式 今天来介绍个基本的边框 <p class="solid &q...

[Day27] AWS Data Pipeline

AWS Data Pipeline 是一种 Web 服务,可协助您以指定的间隔,可靠地在不同 AWS...

介绍RESTful api(Day9)

RESTful api是什麽 在网路上有蛮多说明他的内容,我觉得API 是什麽? RESTful A...