首页 > 其他分享 >PyQt5-快速上手笔记-03

PyQt5-快速上手笔记-03

时间:2023-02-09 10:47:01浏览次数:72  
标签:__ 03 self 笔记 init grid PyQt5 addWidget hbox

盒布局

from PyQt5.QtWidgets import QWidget, QPushButton
from PyQt5.QtWidgets import QHBoxLayout, QVBoxLayout

class myWidget(QWidget):
    def __init__(self):
        super().__init__()

        self.init_ui()

    def init_ui(self):

        okbtn = QPushButton("确认")
        cancelbtn = QPushButton("取消")

        hbox = QHBoxLayout()
        hbox.addStretch(1)
        hbox.addWidget(okbtn)
        hbox.addWidget(cancelbtn)

        vbox = QVBoxLayout()
        vbox.addStretch(1)
        vbox.addLayout(hbox)

        self.setLayout(vbox)

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle("按键")
        self.show()

栅格布局

from PyQt5.QtWidgets import QWidget, QGridLayout
from PyQt5.QtWidgets import QPushButton

class myWidget(QWidget):
    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        grid =  QGridLayout()
        self.setLayout(grid)

        names = ["Cls", "Bck", "", "Close",
                 "7", "8", "9", "/",
                 "4", "5", "6", "*",
                 "1", "2", "3", "-",
                 "0", ".", "=", "+"]
        positions = [(i, j) for i in range(5) for  j in range(4)]

        for position, name in zip(positions, names):
            if name == "":
                continue
            btn = QPushButton(name)
            grid.addWidget(btn, *position)

        self.move(300, 150)
        self.setWindowTitle("栅格布局")
        self.show()

例子:制作反馈窗口

from PyQt5.QtWidgets import  QWidget, QLabel, QLineEdit
from PyQt5.QtWidgets import  QTextEdit, QGridLayout

class myWidget(QWidget):
    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):

        title = QLabel("标题")
        author = QLabel("作者")
        review = QLabel("回复")

        titleEdit = QLineEdit()
        authorEdit = QLineEdit()
        reviewEdit = QLineEdit()

        grid = QGridLayout()
        grid.setSpacing(10) # 同时设置水平,垂直间距

        grid.addWidget(title, 1, 0)
        grid.addWidget(titleEdit, 1, 1)

        grid.addWidget(author, 2, 0)
        grid.addWidget(authorEdit, 2, 1)

        grid.addWidget(review, 3, 0)
        grid.addWidget(reviewEdit, 3, 1)
        
        

        self.setLayout(grid)
        self.move(300, 300)
        self.setWindowTitle("回复窗口")
        self.show()
from PyQt5.QtWidgets import  QWidget, QLabel, QLineEdit, QPushButton
from PyQt5.QtWidgets import  QTextEdit, QGridLayout, QHBoxLayout, QVBoxLayout

class myWidget(QWidget):
    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):

        title = QLabel("标题")
        author = QLabel("作者")
        review = QLabel("回复")

        titleEdit = QLineEdit()
        authorEdit = QLineEdit()
        reviewEdit = QLineEdit()

        grid = QGridLayout()
        grid.setSpacing(10) # 同时设置水平,垂直间距

        grid.addWidget(title, 1, 0)
        grid.addWidget(titleEdit, 1, 1)

        grid.addWidget(author, 2, 0)
        grid.addWidget(authorEdit, 2, 1)

        grid.addWidget(review, 3, 0)
        grid.addWidget(reviewEdit, 3, 1)

        okbtn = QPushButton("确定")
        concelbtn = QPushButton("取消")

        hbox = QHBoxLayout()
        hbox.addStretch(1)
        hbox.addWidget(okbtn)
        hbox.addWidget(concelbtn)

        vbox = QVBoxLayout()
        vbox.addStretch(1)
        vbox.addLayout(grid)
        vbox.addLayout(hbox)


        self.setLayout(vbox)
        self.move(300, 300)
        self.setWindowTitle("回复窗口")
        self.show()

标签:__,03,self,笔记,init,grid,PyQt5,addWidget,hbox
From: https://www.cnblogs.com/ALINGMAOMAO/p/17104373.html

相关文章

  • Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized. 问题解决方法
    先说结论,这是由于itext和asian版本不一直造成的。如果你的需求仅仅是生成pdf,则使用解决办法1,如果需求有导出word则使用解决办法2解决办法1:将pom文件的com.lowagie全部......
  • Java笔记
    编译型语言使用专门的编译器一次性编译所有代码,并包装成该平台能识别的可执行性程序的格式运行效率高,可移植性差C,C++,Objective-C解释性语言使用解释器逐行......
  • 读Java实战(第二版)笔记05_Collection API的增强功能
    1. 集合工厂1.1. Arrays.asList()1.1.1. 创建了一个固定大小的列表1.1.2. 列表的元素可以更新1.1.3. 不能增加或者删除1.1.4. 大小固定的可变数组1.2. 没有A......
  • 第03天-python字节序列字典
    1、字节序列和切片1.1、字节序列Python3引入两个新的类型bytes、bytearray。bytes不可变字节序列;bytearray是可变字节数组。字节的世界里面没有编码1.2、编码与解......
  • Webots学习笔记(一) 基本概念
    最近准备学习webots,看了一下网络上没有什么特别好的教程,估计只能跟着官方的手册WebotsUserGuide和WebotsReferenceManual来进行学习了。Webots仿真的基本要素worldf......
  • PyQt5-快速上手笔记-02
    状态栏状态栏是用来显示应用状态信息的组件fromPyQt5.QtWidgetsimportQMainWindowclassmyWidget(QMainWindow):def__init__(self):super().__init_......
  • 《Rust权威指南》学习笔记——4. 认识所有权
    Rust权威指南学习笔记——认识所有权什么是所有权1.所有权规则Rust中的每一个值都有一个对应的变量作为它的所有者。在同一时间内,值有且仅有一个所有者。当所有者离......
  • 2-SAT-学习笔记
    基本知识复习https://oi-wiki.org/graph/2-sat/模板【模板】2-SAT问题#include<bits/stdc++.h>#definelllonglongusingnamespacestd;constintN=2e6+5;......
  • PyQt5-快速上手笔记
    窗口importsysfromPyQt5.QtWidgetsimportQApplication,QWidgetfromPyQt5.QtGuiimportQIconclassExample(QWidget):def__init__(self):super(......
  • node: /lib64/libm.so.6: version `GLIBC_2.27' not found
    场景cenos7服务器使用nvm安装的node之后,只要使用npm或者node,均会出现以下问题[root@172~]#npm-vnode:/lib64/libm.so.6:version`GLIBC_2.27'notfound(required......