PyQt5学习笔记--设置窗口大小、移动窗口位置、设置窗口图标、水平和垂直布局

目录

1--设置窗口大小

2--移动窗口位置

3--设置窗口图标

4--垂直布局

5--水平布局


1--设置窗口大小

w.resize(500,500)

2--移动窗口位置

w.move(0, 100) # 左上角点的坐标
# 调整窗口在屏幕中央显示
center_pointer = QDesktopWidget().availableGeometry().center()
x = center_pointer.x()
y = center_pointer.y()
w.move(x, y)
# 调整窗口在屏幕中央显示
center_pointer = QDesktopWidget().availableGeometry().center()
x = center_pointer.x()
y = center_pointer.y()
tl_x, tl_y, width, height = w.frameGeometry().getRect() # 窗口哦左上角坐标(x,y)、宽高(W, H)
w.move(x - width/2, y - height/2)
# 展示窗口
w.show()

3--设置窗口图标

import sys

from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QWidget

if __name__ == "__main__":
    app = QApplication(sys.argv)  # 创建对象

    w = QWidget()

    # 设置窗口标题
    w.setWindowTitle("Pyqt Test")
    
    # 设置窗口图标
    icon = QIcon("./test1.jpg")
    w.setWindowIcon(icon)

    # 展示窗口
    w.show()

    # 程序进行循环等待状态
    app.exec_()

PyQt5学习笔记--设置窗口大小、移动窗口位置、设置窗口图标、水平和垂直布局_第1张图片

4--垂直布局

① 垂直布局:

import sys

from PyQt5.QtWidgets import *

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

        # 设置大小
        self.resize(300, 300)
        # 设置标题
        self.setWindowTitle("Pyqt Test")
        # 垂直布局
        layout = QVBoxLayout()

        # button1
        btn1 = QPushButton("button1")
        layout.addWidget(btn1)
        layout.addStretch(1) # 设置伸缩量(理解为弹簧) 1理解为比例

        # button2
        btn2 = QPushButton("button2")
        layout.addWidget(btn2)
        layout.addStretch(2)

        # button3
        btn3 = QPushButton("button3")
        layout.addWidget(btn3)
        layout.addStretch(1)

        # 让当前窗口使用layout布局器
        self.setLayout(layout)

if __name__ == "__main__":
    app = QApplication(sys.argv)  # 创建对象

    w = MyWindow()
    w.show()

    # 程序进行循环等待状态
    app.exec_()

PyQt5学习笔记--设置窗口大小、移动窗口位置、设置窗口图标、水平和垂直布局_第2张图片

5--水平布局

import sys

from PyQt5.QtWidgets import *

class MyWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.init_ui()
    def init_ui(self):
        # 最外层的垂直布局,包含两部分: hobby和gender
        container = QVBoxLayout()

        hobby_box = QGroupBox("hobby")
        # v_layout 保证三个爱好是垂直摆放的
        v_layout = QVBoxLayout()
        btn1 = QRadioButton("Singing")
        btn2 = QRadioButton("Dancing")
        btn3 = QRadioButton("Listening")
        # 添加到v_layout中
        v_layout.addWidget(btn1)
        v_layout.addWidget(btn2)
        v_layout.addWidget(btn3)
        # 将v_layout添加到hobby_box中
        hobby_box.setLayout(v_layout)

        gender_box = QGroupBox("gender")
        # 性别容器 水平摆放
        h_layout = QHBoxLayout()
        # 性别选项
        btn4 = QRadioButton("man")
        btn5 = QRadioButton("woman")
        # 添加到h_layout中
        h_layout.addWidget(btn4)
        h_layout.addWidget(btn5)
        # 将h_layout添加到gender_box中
        gender_box.setLayout(h_layout)

        # 将爱好的内容添加到容器中
        container.addWidget(hobby_box)
        # 将性别的内容添加到容器中
        container.addWidget(gender_box)

        # 设置窗口显示的内容是最外层的容器
        self.setLayout(container)

if __name__ == "__main__":
    app = QApplication(sys.argv)  # 创建对象

    w = MyWindow()
    w.show()

    # 程序进行循环等待状态
    app.exec_()

PyQt5学习笔记--设置窗口大小、移动窗口位置、设置窗口图标、水平和垂直布局_第3张图片

你可能感兴趣的:(Pyqt5学习笔记,学习)