首页 > 其他分享 >pyqt5 简单模板

pyqt5 简单模板

时间:2023-02-01 12:00:30浏览次数:42  
标签:__ layout self pyqt5 btngroup 简单 MYWIDGET addRadioButton 模板


import sys

from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QWidget, QDesktopWidget, QVBoxLayout, QHBoxLayout, QApplication, QButtonGroup
from utils.tableUtils import MYWIDGET

class MainWindow(QWidget):
def __init__(self):
super().__init__()
# 窗体标题和尺寸
self.setWindowTitle("Python QT5 Demo")

# 窗体的尺寸
self.resize(365, 200)
# 窗体的位置
qr = self.frameGeometry()
cp = QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)

# 垂直方向的布局
layout = QVBoxLayout()

# 1.创建主要内容
# 纸宽 纸高 间距
layout.addLayout(self.content_layout(['纸宽', '纸高', '间距']))
# 宽度 高度 页数
layout.addLayout(self.content_layout(['宽度', '高度', '页数']))
# 列数 行数 编号
layout.addLayout(self.content_layout(['列数', '行数', '编号']))
# 输出路径 切 刀 转
layout.addLayout(self.filed_layout())
# 导入路径 拼版尺寸 拼版按钮
layout.addLayout(self.filed2_layout())
# 2.创建底部菜单
layout.addLayout(self.footer_layout())

# 给窗体设置元素的排列方式
self.setLayout(layout)

def footer_layout(self):
layout = QHBoxLayout()
btngroup_left = QButtonGroup(self)
btngroup_right = QButtonGroup(self)


MYWIDGET.addRadioButton(layout,btngroup_left, '单')
MYWIDGET.addRadioButton(layout,btngroup_left, '自')
MYWIDGET.addRadioButton(layout,btngroup_left, '双')


MYWIDGET.addRadioButton(layout,btngroup_right, '横奇')
MYWIDGET.addRadioButton(layout,btngroup_right, '横偶')
MYWIDGET.addRadioButton(layout,btngroup_right, '竖奇')
MYWIDGET.addRadioButton(layout,btngroup_right, '竖偶')

return layout

def filed2_layout(self):
layout = QHBoxLayout()
pdf_edit = MYWIDGET.addLineEditD(self,layout, '双击或拖入PDF文件')

pdf_edit.mouseDoubleClickEvent= self.mouse_click
pdf_edit.setDragEnabled(True)
MYWIDGET.addComboBox(layout, ['','597x444 0','597x444 3','444x398 0','444x398 3'])
MYWIDGET.addButton(layout, '拼版')
return layout

def filed_layout(self):
layout = QHBoxLayout()
MYWIDGET.addLineEdit(layout, '请写入PDF输出名称')
MYWIDGET.addCheckBox(layout, '切')
MYWIDGET.addCheckBox(layout, '刀')
MYWIDGET.addCheckBox(layout, '转')
return layout

def content_layout(self, _list):
layout = QHBoxLayout()
for item in _list:
MYWIDGET.addLabel(layout, '{}:'.format(item))
MYWIDGET.addLineEdit(layout, '')
return layout

def mouse_click(self, event):
if event.button() == 1:
# 双击
# handle left mouse button here
print(12)



if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())


标签:__,layout,self,pyqt5,btngroup,简单,MYWIDGET,addRadioButton,模板
From: https://blog.51cto.com/u_10780206/6031193

相关文章

  • C++ traits 萃取的一些简单理解
    摘取自<effectivec++>  ......
  • 服务器VPC申请后简单加固过程记录 系统版本 CentOS7.6.1810
    搞了个便宜的服务器大概看了下都是默认配置简单做下配置ssh配置#更换端口vi/etc/ssh/sshd_config将其中的Port22中的22改为自己想用的端口建议用10000以上的......
  • 简单三步上传公众号文章附件
     网址:https://uom.cn/f/# 第一步:打开网站,微信扫码登录,会自动返回主页 第二步:点击选择文件按钮 第三步:选择文件并打开  此时上传就已经完成了,会提供三个方......
  • 模板方法模式(Template Method)
    一个抽象类中,有一个主方法,再定义1…n个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用,就是在AbstractCalculator......
  • 设计模式-Simple Factory(简单工厂)
    模式说明简单工厂模式又叫静态工厂模式,但不属于23种设计模式。简单工厂模式是由一个工厂对象决定创建出哪一个产品类的实例。UML结构图优点实现了对责任的分割,隔离了......
  • 安卓-Notification简单操作
    一、基本的通知publicvoidbasicNotify(Viewview){//注意:这里如果:Build.VERSION.SDK_INT>=Build.VERSION_CODES.O才设置channelIdNotifica......
  • 【Javaweb】jsp | 简单学习
    什么是jsp,它有什么用?jsp的全称是javaserverpages。Java的服务器界面。jsp的主要作用是代替Servlet程序回传html页面的数据因为Servlet程序回传html页面数据是一件非常......
  • 最简单的逐像素Blinn-Phong光照
    效果 知识点1)漫反射计算公式:a)兰伯特定律:反射光线的强度与表面法线和光线方向夹角的cos值成正比。b)Colorlight*Colordiffuse* 漫反射光线辐照度。光线辐......
  • dremio provision 模式功能简单说明
    目前此功能主要是支持yarn等资源调度的,在dremio系统中名称为弹性引擎ProvisioningService服务接口定义参考类图  不同类型的实现具体操作是由ProvisioningServ......
  • dremio provisioning 几种模式简单介绍
    主要是包含了基于云以及yarn模式的部署awseks  azurearm  azureaks  yarn模式  标准集群模式  说明以上集中模式包含了软件以及在云......