python pyqt5简单界面

https://doc.qt.io/qtforpython/PySide6/QtWidgets/QTableWidget.html
在这里插入图片描述

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget, QHBoxLayout, QVBoxLayout, QTableWidget, \
    QTableWidgetItem
from PyQt5.QtWidgets import QPushButton, QLineEdit,QLabel


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

        # 窗体标题和尺寸
        self.setWindowTitle("NB的xx系统")

        # 窗体的尺寸
        self.resize(1228, 450)

        # 窗体的位置
        qr = self.frameGeometry()
        cp = QDesktopWidget().availableGeometry().center()
        qr.moveCenter(cp)

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

        # 1.创建顶部菜单布局
        header_layout = QHBoxLayout()
        layout.addLayout(header_layout)
        # 1.1 创建按钮
        self.btn_start = self.addButton(header_layout, '开始')
        self.btn_start = self.addButton(header_layout, '停止')
        self.addStretch(header_layout)

        # 2.创建上面标题布局
        form_layout = QHBoxLayout()
        layout.addLayout(form_layout)
        # 2.1 输入框

        self.txt_asin = self.addLineEdit(form_layout, "请输入商品ID和价格,列入:B0818JJQQ8=88")
        # 2.2 添加按钮
        self.btn_add = self.addButton(form_layout, '添加')

        # 3.创建中间的表格
        table_layout = QHBoxLayout()
        layout.addLayout(table_layout)
        # 3.1 创建表格
        title_dict = [
            {'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},
        ]
        self.table_widget = self.addTable(layout,title_dict,8,0)


        # 4.创建底部菜单
        footer_layout = QHBoxLayout()
        layout.addLayout(footer_layout)
        self.label_status = self.addLabel(footer_layout,'未检测')
        self.addStretch(footer_layout)
        self.btn_reinit = self.addButton(footer_layout, '重新初始化')
        self.btn_recheck = self.addButton(footer_layout, '重新检查')
        self.btn_reset_count = self.addButton(footer_layout, '次数清零')
        self.btn_delete = self.addButton(footer_layout, '删除检测项')
        self.btn_alert = self.addButton(footer_layout, 'SMTP报警配置')
        self.btn_proxy = self.addButton(footer_layout, '代理IP')
        # 给窗体设置元素的排列方式
        self.setLayout(layout)

    def addButton(self, layout, button_name):
        button = QPushButton(button_name)
        layout.addWidget(button)
        return button
    def addLabel(self, layout, text):
        label = QLabel(text)
        layout.addWidget(label)
        return label

    def addStretch(self, layout):
        layout.addStretch()

    def addLineEdit(self, layout, place_holder_text):
        line_edit = QLineEdit()
        line_edit.setPlaceholderText(place_holder_text)
        layout.addWidget(line_edit)
        return line_edit

    def addTable(self, layout, title_list, col, row):
        table = QTableWidget(row, col)
        for index, value in enumerate(title_list):
            item = QTableWidgetItem()
            item.setText(value['text'])
            table.setColumnWidth(index,value['width'])
            table.setHorizontalHeaderItem(index, item)
        layout.addWidget(table)


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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过使用QSettings类来实现PYQT5登录界面记住密码的功能。QSettings类提供了一个跨平台的API,用于访问应用程序的设置。它可以用于存储和检索应用程序的配置信息,例如窗口位置和大小,最后一次使用的文件等。 以下是一个实现PYQT5登录界面记住密码的示例代码: ```python from PyQt5.QtCore import QSettings # 在登录界面中添加一个复选框,用于选择是否记住密码 class LoginWindow(QtWidgets.QMainWindow): def __init__(self): super().__init__() self.setupUi(self) self.remember_checkbox.stateChanged.connect(self.remember_password) # 记住密码 def remember_password(self, state): settings = QSettings('MyCompany', 'MyApp') if state == QtCore.Qt.Checked: settings.setValue('username', self.username_edit.text()) settings.setValue('password', self.password_edit.text()) else: settings.remove('username') settings.remove('password') # 在登录界面中添加一个方法,用于检查是否有保存的用户名和密码 def check_saved_credentials(self): settings = QSettings('MyCompany', 'MyApp') username = settings.value('username') password = settings.value('password') if username and password: self.username_edit.setText(username) self.password_edit.setText(password) self.remember_checkbox.setChecked(True) ``` 在上面的代码中,我们使用QSettings类来保存和检索用户名和密码。在remember_password方法中,我们检查复选框的状态,如果它被选中,我们将用户名和密码保存到QSettings中。在check_saved_credentials方法中,我们检查是否有保存的用户名和密码,并将它们设置为相应的文本框中的文本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值