Python 开发GUI之UI界面的三种引入形式
【纯手工代码】
# -*- coding: utf-8 -*-
# Author:Jack LEE
# FileName:main
# CreatedDate: 2020/9/17 # 手写代码的基础框架
# 导入需要的库and元件
from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QTextEdit # 初始化函数
def sayHello():
textEdit.setText("hello") # 初始化控件
app = QApplication([])
window = QMainWindow()
window.resize(800, 600)
window.move(300, 310)
window.setWindowTitle('MainWindow')
textEdit = QTextEdit("init-information", window)
textEdit.resize(500, 400)
textEdit.move(40, 50)
# textEdit.setText("init-information")
button = QPushButton('pushButton', window)
button.move(600, 300)
button.resize(130, 50)
# button.setText('pushButton') # 编写信号与槽,以及图像化 button.clicked.connect(sayHello)
window.show()
app.exec_()
【直接载入UI文件】
# -*- coding: utf-8 -*-
# Author:Jack LEE
# FileName:UIloader
# CreatedDate: 2020/9/17 import sys
from PySide2.QtUiTools import QUiLoader
from PySide2.QtWidgets import QApplication
from PySide2.QtCore import QFile # 定义触发函数
def sayHello():
window.textEdit.setText("hello world!")
print("Button click!") if __name__ == "__main__":
app = QApplication(sys.argv)
ui_file = QFile("UI/mainWindow.ui")
ui_file.open(QFile.ReadOnly)
loader = QUiLoader()
window = loader.load(ui_file)
ui_file.close()
# 在这里加入信号触发、空间位置控制等代码
window.pushButton.clicked.connect(sayHello)
# 添加结束
window.show()
sys.exit(app.exec_())
【载入UI文件编译后的PY文件】
# -*- coding: utf-8 -*-
# Author:Jack LEE
# FileName:PYloader
# CreatedDate: 2020/9/17 import sys
# from sys import argv
# 如果使用sys 那将意味着将要打包很多多西,所以可能会出现问题
from mainWindow import Ui_MainWindow
from PySide2.QtWidgets import QMainWindow, QApplication # 定义信号和槽函数
def signleAndSlot():
UI.pushButton.clicked.connect(sayHello) # 定义触发函数
def sayHello():
UI.textEdit.setText("Hello World!") class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self) if __name__ == '__main__':
app = QApplication(sys.argv)
main = MainWindow()
UI = main.ui
# 调用信号和槽的函数以及空间管理等函数
signleAndSlot()
main.show()
sys.exit(app.exec_())
Python 开发GUI之UI界面的三种引入形式的更多相关文章
- Python开发GUI工具介绍,实战:将图片转化为素描画!【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- Python开发GUI工具介绍,实战:将图片转化为素描画!
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...
- Python开发GUI实战:图片转换素描画工具!
奋斗没有终点 好好学习72变,因为将来 没有人能替你阻挡81难 . 生如蝼蚁,当有鸿鹄之志: 命如纸薄,应有不屈之心 . 今天被这句话触动了,所以开篇分享给大家.鸡汤有毒,但有时大家却靠它激励自己 ...
- python全栈开发day38-css三种引入方式、基础选择器、高级选择器、补充选择器
一.昨日内容回顾 div:分割整个网站,很多块 (1)排版标签 (2)块级标签 独占一行 可以设置高和宽,如果不设置宽高,默认是父盒子的宽 span: (1) 小区域 (2)文本标签 (3)在一行内显 ...
- jira插件带ui界面和几种方式
http://localhost:2990/jira/plugins/servlet/issuecrud jira插件带ui界面和几种方式 https://developer.atlassian.co ...
- Python 45 css三种引入方式以及优先级
一:css三种引入方式 三种方式为:行间式 | 内联式 | 外联式 行间式 1.在标签头部的style属性内 2.属性值满足的是css语法 3.属性值用key:value形式赋值,value具 ...
- CSS【03】:CSS 基础选择器与三种引入方式
基础选择器 选择器:css 选择 html 标签的一个工具,是将 css 与 html 建立起联系,那么 css 就可以控制 html 样式 选择器其实就是给 html 标签起名字 标签选择器 作用: ...
- 应答流式RPC 请求流式RPC 向流式RPC 流式RPC的三种具体形式
https://mp.weixin.qq.com/s/pWwSfXl71GQZ3KPmAHE_dA 用Python进行gRPC接口测试(二) 大帆船 搜狗测试 2020-02-07 上期回顾:用P ...
- 前端-CSS-介绍及三种引入方式
我们为什么需要CSS? 使用css的目的就是让网页具有美观一致的页面,另外一个最重要的原因是内容与格式分离 在没有CSS之前,我们想要修改HTML元素的样式需要为每个HTML元素单独定义样式属性,当H ...
随机推荐
- 可以用命令行控制eclipse断点增加删除、远程调试创建与启动的插件
java # 创建断点(支持条件断点) curl -X PUT -H "Content-Type:application/json" --data '{"language ...
- MSDN 无法显示的问题 2010-03-21 21:08
MSDN 无法显示的问题regsvr32 "C:\Program Files\Common Files\Microsoft Shared\Help\hxds.dll" .试图运行项 ...
- 详解Python Graphql
前言 很高兴现在接手的项目让我接触到了Python Graphql,百度上对其介绍相对较少也不够全面,几乎没有完整的中文文档,所以这边也借此机会学习一下Graphql. 什么是Graphql呢? Gr ...
- python3 输出中文、日文等等乱码问题的解决办法
例如: url = 'https://zozo.jp/shop/mrolive/goods-sale/44057773/?did=73037089' resp = requests.get(url=u ...
- IDEA的externel tool配置Javap -c 命令
1.ctrl+alt+s打开设置界面,找到Tool-> External Tools 点击 +来增加一个新的外部工具. 在tool setting 的Program输入工具的路径,可以插入宏,比 ...
- install-newton部署安装--------计算节点部署安装
#################################################################################################### ...
- 揭秘 Kubernetes attach/detach controller 逻辑漏洞致使 pod 启动失败
前言 本文主要通过深入学习k8s attach/detach controller源码,了解现网案例发现的attach/detach controller bug发生的原委,并给出解决方案. 看完本文 ...
- GreateMan_开源
oschina: https://www.oschina.net/ Tencent: https://github.com/Tencent 360: https://github.com/Qihoo3 ...
- Macbook Pro HDMI 无信号解决办法
因为CS:GO无法启动的问题,使用过了下面的命令 sudo pmset -a GPUSwitch 0 导致HDMI显示器无信号 输入下面的代码 sudo pmset -a GPUSwitch 1 可以 ...
- Spine学习六 - 碰撞检测
相信在使用Spine做游戏的时候,肯定会遇到这样的需求: 一个人物有一把大刀,要使用这把大刀去砍怪,伤害检测以这把大刀砍刀怪物为准,那么要怎么在一个看上去就是一体的Spine Object上绑定一个碰 ...