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 ...
随机推荐
- 聊聊MySQL常用的4种主从复制架构
目录 一主多从复制架构 多级复制架构 双主(Dual Master)复制架构 多源(Multi-Source)复制架构 如何优化主从延迟问题? 复制的4中常见架构有一主多从复制架构.多级复制架构.双主 ...
- 《MySQL必知必会》通配符 ( like , % , _ ,)
<MySQL必知必会>通配符 ( like , % , _ ,) 关键字 LIke WHERE 搜索子句中使用通配符,必须使用 LIKE 操作符. % 百分号通配符 % 表示任意字符出现任 ...
- js使用html2canvas 生成图片然后下载
1:html2canvas官网 首先去官网把这个JS下载下来 <!DOCTYPE html> <html lang="en"> <head> & ...
- NRF52840 添加 led service
记录NRF52840 添加LED service的流程,以及遇到的问题. 由于SDK中已经有了led service的.c和.h文件,因此只需要添加文件,并且调用相关函数即可. 注:编译调试环境为ke ...
- Cirros镜像
Openstack的开发,基本都使用这个image来测试,因为他比较小,只有10M. 镜像介绍 镜像的地址: https://launchpad.net/cirros/trunk/0.3.0/+dow ...
- 微众银行FATE联邦学习框架
参考:https://github.com/webankfintech/fate https://www.fedai.org/#/ 一.Docker Standalone 安装 FATE $ sh b ...
- 区块链入门到实战(32)之Solidity – 代码注释
Solidity 支持c风格和c++风格的注释. //之后到行尾的文本,都被看作注释,编译器忽略此内容 /* 与 */ 之间的文本被看作注释, 编译器忽略此内容 示例 注释示例. function g ...
- Kubernetes入门(二)——Dashboard 安装
Kubernetes集群搭建完成后,可以通过命令行方式可以了解集群资源的使用情况,但是这种方式比较笨拙且不直观,因此考虑给集群安装Dashboard,这样能更直观了解集群状态.本文Dashboard的 ...
- javaweb中自己遇到的问题
1.web中的编码问题 1.1服务器接收的数据 post请求,请求会在Servlet中进行解码,所以我们只需要对request设置UTF-8即可. request.setCharacterEncodi ...
- 都2020年了,还再问GET和POST的区别?【深度好文】
最近看了一些同学的面经,发现无论什么技术岗位,还是会问到 get 和 post 的区别,而搜索出来的答案并不能让我们装得一手好逼,那就让我们从 HTTP 报文的角度来撸一波,从而搞明白他们的区别. 一 ...