吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1515|回复: 12
收起左侧

[学习记录] 笔记01 第一个PyQt5程序

[复制链接]
baoxueQT 发表于 2022-6-22 05:20
[Python] 纯文本查看 复制代码
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget, QHBoxLayout, QVBoxLayout, QLineEdit
from PyQt5.QtWidgets import QPushButton, QTableWidget, QTableWidgetItem, QLabel
import sys


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

        self.setWindowTitle("窗口标题")  # 创建了一个窗口标题

        self.resize(980, 450)  # 创建窗口宽和高

        # 创建垂直布局
        layout = QVBoxLayout()

        # 1.创建水平布局,
        header_layout = QHBoxLayout()

        # 3.创建按钮控件
        btn_start = QPushButton("开始")

        # 4.将创建的按钮控件添加到header_layout水平布局中
        header_layout.addWidget(btn_start)

        # 5.创建按钮控件
        btn_stop = QPushButton("暂停")
        header_layout.addWidget(btn_stop)

        # 2.将水平布局添加到垂直布局中
        layout.addLayout(header_layout)

        # ------------------------------------

        # 1.创建水平布局
        from_layout = QHBoxLayout()

        # 3.创建输入框
        text_asin = QLineEdit()  # 创建输入框

        # 4.设置输入框提示信息
        text_asin.setPlaceholderText("请输入请求URL")

        # 5.将创建好的输入框控件添加到from_layout水平布局中
        from_layout.addWidget(text_asin)

        # 6.创建按钮控件
        btn_add = QPushButton("添加")
        from_layout.addWidget(btn_add)

        # 2.将创建的水平布局添加到layout水平布局中
        layout.addLayout(from_layout)

        # --------------------------------------

        # 1.创建水平布局
        table_layout = QHBoxLayout()

        # 3.创建表格
        # 参数1 多少行
        # 参数2 多少列
        table = QTableWidget(0, 8)
        # 创建一个列表,通过for循环来遍历里面的内容
        table_header = [
            {"field": "asin", "text": "ASIN", "width": 120},
            {"field": "title", "text": "标题", "width": 150},
            {"field": "url", "text": "URL", "width": 400},
            {"field": "price", "text": "低价", "width": 100},
            {"field": "success", "text": "成功次数", "width": 100},
            {"field": "error", "text": "503次数", "width": 100},
            {"field": "status", "text": "状态", "width": 100},
            {"field": "frequency", "text": "频率(N秒/次)", "width": 100},
        ]
        for idx, info in enumerate(table_header):
            # 4.创建表单元素内容
            item = QTableWidgetItem()
            # 设置元素的标题名称
            item.setText(info['text'])
            # 将创建的标题名称添加到表格中
            table.setHorizontalHeaderItem(idx, item)
            # 设置表格的编号和宽度
            table.setColumnWidth(idx, info['width'])

        # 5.将创建好的表格添加到 table_layout 水平布局中
        table_layout.addWidget(table)
        # 2.将创建的垂直布局添加到layout水平布局中
        layout.addLayout(table_layout)

        # ------------------------------------
        # 1.创建水平布局
        footer_layout = QHBoxLayout()

        label_status = QLabel("未检测", self)  # 创建标签
        footer_layout.addWidget(label_status)  # 将标签添加到底部菜单布局中

        # 添加弹簧
        footer_layout.addStretch()

        btn_reinit = QPushButton("重新初始化")
        footer_layout.addWidget(btn_reinit)

        btn_recheck = QPushButton("重新检测")
        footer_layout.addWidget(btn_recheck)

        btn_reset_count = QPushButton("次数清零")
        footer_layout.addWidget(btn_reset_count)

        btn_deleye = QPushButton("删除检测项")
        footer_layout.addWidget(btn_deleye)

        btn_alert = QPushButton("SMTP报警配置")
        footer_layout.addWidget(btn_alert)

        btn_proxy = QPushButton("代{过}{滤}理IP")
        footer_layout.addWidget(btn_proxy)

        # 2.将水平布局添加到layout垂直布局中
        layout.addLayout(footer_layout)

        # 将已设置好的布局应用到窗口中
        self.setLayout(layout)


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

1

1

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

yjn866y 发表于 2022-6-22 09:26
学习了,,还没有写过界面
爱飞的糖果 发表于 2022-6-22 10:09
zhcj66 发表于 2022-6-22 11:40
之前学的又忘记了,不知道 用vs软件是否可以搞定?
用温柔将我杀死 发表于 2022-6-22 12:25
本帖最后由 用温柔将我杀死 于 2022-8-29 09:13 编辑

好东西收藏了
我今天是大佬 发表于 2022-6-22 13:34
爱飞的糖果 发表于 2022-6-22 10:09
不太理解为什么解释型语言要用来写GUI

因为他别的不会
Ace803 发表于 2022-6-22 17:03
pyqt看不懂,想问大佬一下,py打包好的exe文件,可以再做美化吗
hshcompass 发表于 2022-6-22 21:25
谢谢分享。收藏学习。
 楼主| baoxueQT 发表于 2022-6-23 03:18
爱飞的糖果 发表于 2022-6-22 10:09
不太理解为什么解释型语言要用来写GUI

只是试试看复杂度,但是确实复杂,一个功能两个模块,我都累了
 楼主| baoxueQT 发表于 2022-6-23 03:41

好兄弟能不能别拆穿我
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-12 21:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表