030.PyQt5_QPushButton_普通按钮

QPushButton普通按钮

  • 描述:用来给用户点击, 来完成某种动作的控件。一般是矩形
  • 例如:登录按钮、注册按钮、关闭按钮、是、否......
  • 继承:QAbstractButton
  • 功能作用
    • 创建按钮控件
    • 快捷键设置
    • 菜单
    • 边框是否保持扁平
    • 默认处理
  • 可用信号
    • 继承自QAbstractButton的信号
    • 继承自QWidget的信号

  • 创建按钮控件
    QPushButton()                       # 创建一个无父控件的按钮控件
    QpushButton(parent)                 # 创建控件的同时设置父控件
    QpushButton(text, parent)           # 创建控件的同时, 设置提示文本和父控件
    QpushButton(icon, text, parent)     # 创建控件的同时, 设置图标, 提示文本和父控件
    
  • 快捷键设置
    # 设置英文文本时, 使用&符号
    QPushButton("&Sz", window)          # 创建对象的同时设置提示文本的时候设置快捷键
    
    setText("&Sz")                      # 设置提示文本的时候设置快捷键
    
    setShortcut("Alt+G")                # 继承QAbstractButton类,设置控件快捷键
    
  • 菜单设置
    • 菜单:按钮右侧出现倒三角符号,鼠标点击按钮后,会出现下拉菜单
    • 下拉菜单中又分为三种类型:行为动作、分割线、子菜单
      • 行为动作:点击后直接执行某种动作。如:新建、打开、关闭
      • 子菜单:鼠标滑上去或者点击后,再次弹出二级菜单
      • 分割线:用于组与组之间的分隔
    • 需要先创建菜单对象(QMenu),然后将这个菜单对象设置给按钮
    • 子菜单原理也是一样。先创建一个菜单对象(QMenu),再将这个菜单设置给子菜单
    setMenu(QMenu)              # 按钮设置菜单,添加一个QMenu对象
    menu()                      # 获取菜单对象
    showMenu()                  # 展示菜单(无需鼠标点击按钮,自动展开菜单)
    
    # 关于QMenu控件
    addAction(QAction)          # 添加行为动作
    addMenu(QMenu)              # 添加子菜单
    addSeparator()              # 添加分割线
    setTitle(str)               # 设置标题
    setIcon(QIcon)              # 设置图标
    
    # 关于QAction控件(行为动作)
    setText(str)                # 设置提示文本
    setIcon(QIcon)              # 设置图标
    
    信号:triggered             # 鼠标点击行为动作触发该事件
    
    
  • 边框是否保持扁平
    • 设置了此属性,则除非按下按钮,否则大多数样式都不会绘制按钮背景
    setFlat(bool)                   # 设置边框是否保持扁平,默认值为False
    
    isFlat()                        # 获取当前按钮边框是否扁平
    
  • 默认处理
    • 个人理解:setDefault、setAutoDefault 设置按钮是否对回车键按下事件有响应
    • setDefault、setAutoDefault的区别:
      • setDefault不管按钮是否选中都有附加框架
      • setAutoDefault 按钮在选中状态下才有附加框架,取消选中后附加框架消失
    • default、atuoDefault属性仅在父窗口为对话窗才生效,其他窗口类型设置这两个属性没有意义;
    • 按钮的按压触发除了鼠标键之外,也可以使用回车键和空格键触发,这两个属性正是控制回车键和空格键按下时按钮的响应行为
    setAutoDefault(bool)                # 设置为自动默认按钮(选中状态才会显示一个附加框架)
        # 在某些GUI样式中,默认按钮被绘制,其周围有一个额外的框架,最多3个像素或更多
        # Qt会自动在自动默认按钮周围保留此空间,即自动默认按钮可能会有稍大的提示
        # 对于具有QDialog父级的按钮,此属性的默认值为true ; 否则默认为false
        
    autoDefault()                       # 获取是否设置为自动默认
    
    setDefault(bool)                    # 设置按钮的默认状态(默认按钮将一直显示一个附加的框架(取决于gui样式))
    
    isDefault()                         # 获取是否设置按钮的默认状态
    
  • 个人理解
    • QPushButton按钮默认按下回车键按下无响应(即使是选中状态也不响应),按下空格键有响应(选中状态时)
    • QPushButton按钮设置 setDefault(True) 和 setAutoDefault(True) 后,按下回车键会响应(选中状态),按下空格键也有响应(选中状态)
    • 设置 setDefault(True) 后,按钮会一直保持显示一个附加框架(蓝色框架)
    • 设置 setAutoDefault(True) 后,按钮被选中时会显示一个附加框架(蓝色框架)
  • 可用信号
    # 继承自QAbstractButton类
        pressed()                   # 鼠标按下信号
        released()                  # 鼠标释放信号(控件内松开鼠标/鼠标移出控件范围后)
        clicked(checked = False)    # 单击信号(控件内按下+控件内释放),传递按钮是否被选中状态
        toffled(bool checked)       # 选中状态切换信号(一般在单选框或者复选框中使用),传递按钮是否被选中状态
        
    # 继承自QWidget类
        windowTitleChanged(QString)           # 窗口标题改变信号,发射新的窗口名称
        windowIconChanged(QIcon)              # 窗口图标改变信号,发射图标对象
        customContextMenuRequested(QPoint)    # 自定义上下文菜单请求信号(鼠标右键按下发射信号),发射(传递)鼠标右键点击的坐标
        
        setContextMenuPolicy(Qt.CustomContextMenu)  # 设置控件自定义上下文菜单策略
        # 参数:
                Qt.CustomContextMenu  # 发射信号customContextMenuRequested(QPoint)
                Qt.DefaultContextMenu  # 默认,调用对象方法contextMenuEvent()
    

  • 示例代码

  • 案例1:创建按钮控件

    from PyQt5.Qt import *
    import sys
    
    app = QApplication(sys.argv)
    window = QWidget()
    window.resize(500, 500)
    window.setWindowTitle('QPushButton功能作用')
    
    # 方法一:创建无父控件按钮
    btn1 = QPushButton()
    btn1.setParent(window)
    btn1.setText('按钮1')
    btn1.setIcon(QIcon("../ico/logo.ico"))
    btn1.move(100, 50)
    
    # 方法二:创建控件的同时设置父控件
    btn2 = QPushButton(window)
    btn2.setText('按钮2')
    btn2.setIcon(QIcon("../ico/logo.ico"))
    btn2.move(100, 100)
    
    # 方法三:创建控件的同时, 设置提示文本和父控件
    btn3 = QPushButton('按钮3', window)
    btn3.setIcon(QIcon("../ico/logo.ico"))
    btn3.move(100, 150)
    
    # 方法四:创建控件的同时, 设置图标, 提示文本和父控件
    btn4 = QPushButton(QIcon("../ico/logo.ico"), '按钮4', window)
    btn4.move(100, 200)
    
    window.show()
    sys.exit(app.exec_())
    
  • 案例2:按钮快捷键设置

    from PyQt5.Qt import *
    import sys
    
    app = QApplication(sys.argv)
    window = QWidget()
    window.resize(500, 500)
    window.setWindowTitle('QPushButton快捷键设置')
    
    # 方法一    
    btn1 = QPushButton('&Fz', window)
    btn1.move(200, 100)
    
    # 方法二
    btn2 = QPushButton(window)
    btn2.setText('A&BC')
    btn2.move(300, 100)
    
    # 方法三
    btn3 = QPushButton('按钮3', window)
    btn3.move(100, 100)
    btn3.setShortcut('ALT+H')
    
    btn1.clicked.connect(lambda :print('Fz:Fz Hello'))
    btn2.clicked.connect(lambda :print('ABC:Fz Hello'))
    btn3.clicked.connect(lambda :print('按钮3:Fz Hello'))
    
    window.show()
    sys.exit(app.exec_())
    
  • 案例3:按钮菜单设置

    from PyQt5.Qt import *
    import sys
    
    app = QApplication(sys.argv)
    window = QWidget()
    window.resize(500, 500)
    window.setWindowTitle('QPushButton-菜单')
    
    btn = QPushButton('按钮菜单', window)
    btn.move(20, 10)
    
    # 创建菜单对象
    menu = QMenu('菜单', btn)
    
    # 创建动作行为对象用于主菜单
    act1 = QAction('新建', menu)
    act2 = QAction('打开', menu)
    act3 = QAction('保存', menu)
    act4 = QAction('退出', menu)
    
    # 添加快捷键
    act1.setShortcut('Alt+Insert')
    act3.setShortcut('Ctrl+S')
    
    # 主菜单行为动作添加信号与槽关联
    act1.triggered.connect(lambda : print('新建文件'))
    act2.triggered.connect(lambda : print('打开文件'))
    act3.triggered.connect(lambda : print('保存文件'))
    act4.triggered.connect(lambda : print('退出程序'))
    
    # 给行为动作添加图标
    act1.setIcon(QIcon('../images/new.jpg'))
    act2.setIcon(QIcon('../images/open.jpg'))
    act3.setIcon(QIcon('../images/save.jpg'))
    act4.setIcon(QIcon('../images/exit.jpg'))
    
    # 创建子菜单
    me = QMenu('最近使用...', menu)
    # me.setIcon(QIcon('../images/exit.jpg'))
    
    # 创建动作行为对象用于主菜单
    ac1 = QAction('01_QPushButton-功能作用.py', me)
    ac2 = QAction('02_QPushButton-快捷键设置.py', me)
    ac3 = QAction('03_QPushButton-菜单.py', me)
    
    # 给二级菜单行为动作添加图标
    ac3.setIcon(QIcon('../images/edit.jpg'))
    
    # 子菜单行为动作添加信号与槽关联
    ac1.triggered.connect(lambda : print('打开文件:' + ac1.text()))
    ac2.triggered.connect(lambda : print('打开文件:' + ac2.text()))
    ac3.triggered.connect(lambda : print('打开文件:' + ac3.text()))
    
    # 子菜单添加项目:行为动作
    me.addAction(ac1)
    me.addAction(ac2)
    me.addAction(ac3)
    
    # 给菜单添加项目:行为动作
    menu.addAction(act1)
    menu.addAction(act2)
    menu.addAction(act3)
    # 给菜单添加项目:分割线
    menu.addSeparator()
    # 给菜单添加项目:子菜单
    menu.addMenu(me)
    # 给菜单添加项目:分割线
    menu.addSeparator()
    menu.addAction(act4)
    
    #  按钮设置菜单
    btn.setMenu(menu)
    
    
    window.show()
    sys.exit(app.exec_())
    
  • 案例4:默认设置

    from PyQt5.Qt import *
    import sys
    import time
    
    class Btn(QPushButton):
        def keyPressEvent(self, a0) -> None:
            super().keyPressEvent(a0)
            if a0.key() == 32:
                self.parent().findChild(QLabel, 'labe0').setText('空格键被按下了')
            elif a0.key() == 16777220:
                self.parent().findChild(QLabel, 'labe0').setText('回车键被按下了')
    
        def keyReleaseEvent(self, e) -> None:
            super().keyReleaseEvent(e)
            self.parent().findChild(QLabel, 'labe').setText('')
            self.parent().findChild(QLabel, 'labe0').setText('')
    
        def cao(self):
            labe.setText(self.text() + '被点击了')
    
    
    app = QApplication(sys.argv)
    window = QWidget()
    window.resize(500, 500)
    window.setWindowTitle('QPushButton-默认设置')
    
    labe = QLabel(window)
    labe.resize(300, 50)
    labe.setObjectName('labe')
    labe.move(100, 410)
    labe.setStyleSheet("font-size:40px;color:red;border: 1px solid gray;")
    
    labe0 = QLabel(window)
    labe0.setObjectName('labe0')
    labe0.resize(300, 50)
    labe0.move(100, 350)
    labe0.setStyleSheet("font-size:40px;color:green;border: 1px solid gray;")
    
    labe1 = QLabel('默认状态', window)
    labe1.move(50, 70)
    labe2 = QLabel('setDefault(True)', window)
    labe2.move(50, 170)
    labe3 = QLabel('setAutoDefault(True)', window)
    labe3.move(50, 270)
    
    btn1 = Btn('按钮1', window)
    btn2 = Btn('按钮2', window)
    btn3 = Btn('按钮3', window)
    btn4 = Btn('按钮4', window)
    
    btn5 = Btn('按钮5', window)
    btn6 = Btn('按钮6', window)
    btn7 = Btn('按钮7', window)
    btn8 = Btn('按钮8', window)
    
    btna = Btn('按钮A', window)
    btnb = Btn('按钮B', window)
    btnc = Btn('按钮C', window)
    btnd = Btn('按钮D', window)
    
    btn1.move(50, 100)
    btn2.move(150, 100)
    btn3.move(250, 100)
    btn4.move(350, 100)
    
    btn5.move(50, 200)
    btn6.move(150, 200)
    btn7.move(250, 200)
    btn8.move(350, 200)
    
    btna.move(50, 300)
    btnb.move(150, 300)
    btnc.move(250, 300)
    btnd.move(350, 300)
    
    
    btn1.pressed.connect(btn1.cao)
    btn2.pressed.connect(btn2.cao)
    btn3.pressed.connect(btn3.cao)
    btn4.pressed.connect(btn4.cao)
    btn5.pressed.connect(btn5.cao)
    btn6.pressed.connect(btn6.cao)
    btn7.pressed.connect(btn7.cao)
    btn8.pressed.connect(btn8.cao)
    btna.pressed.connect(btna.cao)
    btnb.pressed.connect(btnb.cao)
    btnc.pressed.connect(btnc.cao)
    btnd.pressed.connect(btnd.cao)
    
    # 设置按钮默认响应回车键按下事件,按钮一直保持显示附加框架
    btn5.setDefault(True)
    btn6.setDefault(True)
    btn7.setDefault(True)
    btn8.setDefault(True)
    
    # 设置按钮自动默认响应回车键按下事件,按钮选中时显示附加框架
    btna.setAutoDefault(True)
    btnb.setAutoDefault(True)
    btnc.setAutoDefault(True)
    btnd.setAutoDefault(True)
    
    window.show()
    sys.exit(app.exec_())
    
  • 案例5:可用信号

    • 控件设置上下文请求(鼠标右键)策略为默认(setContextMenuPolicy(Qt.DefaultContextMenu))
    • 上下文请求(鼠标右键)策略为默认时,调用对象方法contextMenuEvent()
    from PyQt5.Qt import *
    import sys
    
    class Window(QWidget):
        def contextMenuEvent(self, a0) -> None:
            menu = self.createMenu()
            x_y = a0.globalPos()
            # menu.move(x_y)
            # menu.show()
            menu.exec_(QPoint(x_y))
    
        def createMenu(self):
            menu = QMenu('主菜单', self)
    
            act1 = QAction('查看', menu)
            act2 = QAction('新建', menu)
            act3 = QAction('刷新', menu)
            act4 = QAction('打印', menu)
    
            me = QMenu('子菜单', menu)
    
            ac1 = QAction('子菜单1', me)
            ac2 = QAction('子菜单2', me)
            ac3 = QAction('子菜单3', me)
            ac4 = QAction('子菜单4', me)
    
            me.addAction(ac1)
            me.addAction(ac2)
            me.addAction(ac3)
            me.addAction(ac4)
    
            menu.addAction(act1)
            menu.addAction(act2)
            menu.addAction(act3)
            menu.addSeparator()
            menu.addMenu(me)
            menu.addAction(act4)
    
            return menu
    
    
    app = QApplication(sys.argv)
    window = Window()
    window.resize(500, 500)
    window.setWindowTitle('QPushButton-可用信号')
    
    # ****************这些信号前面都讲了,这里就不写了****************** 开始
    # 继承自QAbstractButton类
    # pressed()  # 鼠标按下信号
    # released()  # 鼠标释放信号(控件内松开鼠标/鼠标移出控件范围后)
    # clicked(checked=False)  # 单击信号(控件内按下+控件内释放),传递按钮是否被选中状态
    # toffled(bool checked)  # 选中状态切换信号(一般在单选框或者复选框中使用),传递按钮是否被选中状态
    
    # 继承自QWidget类
    # windowTitleChanged(QString)  # 窗口标题改变信号
    # windowIconChanged(QIcon)  # 窗口图标改变信号
    
    # ****************这些信号前面都讲了,这里就不写了****************** 结束
    
    # ****************自定义上下文菜单请求信号****************** 开始
    # customContextMenuRequested(QPoint)   # 自定义上下文菜单请求信号
    
    # setContextMenuPolicy(参数)    # 设置控件自定义上下文策略
    # 参数:
    # Qt.DefaultContextMenu           # 默认,调用对象方法contextMenuEvent()
    # Qt.CustomContextMenu            # 发射信号customContextMenuRequested(QPoint)
    
    
    # ****************自定义上下文菜单请求信号****************** 结束
    
    
    window.show()
    sys.exit(app.exec_())
    
  • 案例6:可用信号

    • 控件设置上下文请求(鼠标右键)策略为setContextMenuPolicy(Qt.CustomContextMenu)
    • 上下文请求(鼠标右键)策略设置为 Qt.CustomContextMenu 时,鼠标右键点击时候会发射信号customContextMenuRequested(QPoint)
    from PyQt5.Qt import *
    import sys
    
    class Window(QWidget):
        def contextMenuEvent(self, a0) -> None:
            menu = self.createMenu()
            x_y = a0.globalPos()
            # menu.move(x_y)
            # menu.show()
            menu.exec_(QPoint(x_y))
    
        def createMenu(self):
            menu = QMenu('主菜单', self)
    
            act1 = QAction('查看', menu)
            act2 = QAction('新建', menu)
            act3 = QAction('刷新', menu)
            act4 = QAction('打印', menu)
    
            me = QMenu('子菜单', menu)
    
            ac1 = QAction('子菜单1', me)
            ac2 = QAction('子菜单2', me)
            ac3 = QAction('子菜单3', me)
            ac4 = QAction('子菜单4', me)
    
            me.addAction(ac1)
            me.addAction(ac2)
            me.addAction(ac3)
            me.addAction(ac4)
    
            menu.addAction(act1)
            menu.addAction(act2)
            menu.addAction(act3)
            menu.addSeparator()
            menu.addMenu(me)
            menu.addAction(act4)
    
            return menu
    
    
    app = QApplication(sys.argv)
    window = QWidget()
    window.resize(500, 500)
    window.setWindowTitle('QPushButton-可用信号')
    
    # 设置控件上下文请求策略(鼠标右键请求策略)为Qt.CustomContextMenu
    # 此时上下文请求会发射信号
    window.setContextMenuPolicy(Qt.CustomContextMenu)
    
    def rig_cao(pos):
        menu = QMenu('主菜单', window)
    
        act1 = QAction('查看', menu)
        act2 = QAction('新建', menu)
        act3 = QAction('刷新', menu)
        act4 = QAction('打印', menu)
    
        me = QMenu('子菜单', menu)
    
        ac1 = QAction('子菜单1', me)
        ac2 = QAction('子菜单2', me)
        ac3 = QAction('子菜单3', me)
        ac4 = QAction('子菜单4', me)
    
        me.addAction(ac1)
        me.addAction(ac2)
        me.addAction(ac3)
        me.addAction(ac4)
    
        menu.addAction(act1)
        menu.addAction(act2)
        menu.addAction(act3)
        menu.addSeparator()
        menu.addMenu(me)
        menu.addAction(act4)
    
        # 将控件中的坐标映射成桌面坐标
        desk_pos = window.mapToGlobal(pos)
    
        menu.exec_(QPoint(desk_pos))
    
    window.customContextMenuRequested.connect(rig_cao)
    
    window.show()
    sys.exit(app.exec_())
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QVBoxLayout class MainWindow(QWidget): def init(self, data): super().init() # 创建界面元素 self.label1 = QLabel("坐标") self.label4 = QLabel("类别") self.button1 = QPushButton("1 ") self.button2 = QPushButton("2 ") self.button3 = QPushButton("3 ") self.button4 = QPushButton("4 ") self.button = QPushButton("确定") self.exit_button = QPushButton("退出") # 创建布局管理器 layout = QVBoxLayout() layout.addWidget(self.label1) layout.addWidget(self.label4) layout.addWidget(self.button1) layout.addWidget(self.button2) layout.addWidget(self.button3) layout.addWidget(self.button4) layout.addWidget(self.button) layout.addWidget(self.exit_button) # 退出 # 设置界面布局 self.setLayout(layout) # 为按钮添加点击事件 self.button1.clicked.connect(lambda: self.show_info(data[0])) self.button2.clicked.connect(lambda: self.show_info(data[1])) self.button3.clicked.connect(lambda: self.show_info(data[2])) self.button4.clicked.connect(lambda: self.show_info(data[3])) self.button.clicked.connect(lambda: self.show_upper_info())#确定 self.exit_button.clicked.connect(lambda: self.close()) # 为退出按钮添加点击事件 self.setFixedSize(500, 300) def show_info(self, info): # 显示信息 self.label1.setText("坐标:" + str(info[0])+","+str(info[1])+","+str(info[2])+","+str(info[3])) self.label4.setText("类别:" + str(info[4])) def show_upper_info(self): # 获取当前显示的信息 upper_info = self.label1.text() + "\n" + self.label4.text() # 在控制台输出上位机信息 print("\n" + upper_info) if name == 'main': # 假设这是程序输出的信息 data = [ [123, 456,"宽","高", "类别"], [234, 567,"宽", "高", "类别"], [345, 678, "宽", "高", "类别"], [456, 789, "宽", "高", "类别"], ] # 创建应用程序和窗口 app = QApplication(sys.argv) window = MainWindow(data) window.show() # 运行应用程序 sys.exit(app.exec_())将这个程序中data的输入改为另一个程序的print输出
05-10
如果你想将这个程序中的data输入改为另一个程序的print输出,你可以使用Python的subprocess模块来实现。具体来说,你可以使用subprocess.Popen()函数来运行第二个程序,并通过管道来获取它的输出。然后,你可以将这个输出解析为一个数据列表,并将其传递给MainWindow类的构造函数。下面是一个示例代码: ``` import sys import subprocess from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QVBoxLayout class MainWindow(QWidget): def __init__(self, data): super().__init__() # 创建界面元素 self.label1 = QLabel("坐标") self.label4 = QLabel("类别") self.button1 = QPushButton("1 ") self.button2 = QPushButton("2 ") self.button3 = QPushButton("3 ") self.button4 = QPushButton("4 ") self.button = QPushButton("确定") self.exit_button = QPushButton("退出") # 创建布局管理器 layout = QVBoxLayout() layout.addWidget(self.label1) layout.addWidget(self.label4) layout.addWidget(self.button1) layout.addWidget(self.button2) layout.addWidget(self.button3) layout.addWidget(self.button4) layout.addWidget(self.button) layout.addWidget(self.exit_button) # 退出 # 设置界面布局 self.setLayout(layout) # 为按钮添加点击事件 self.button1.clicked.connect(lambda: self.show_info(data[0])) self.button2.clicked.connect(lambda: self.show_info(data[1])) self.button3.clicked.connect(lambda: self.show_info(data[2])) self.button4.clicked.connect(lambda: self.show_info(data[3])) self.button.clicked.connect(lambda: self.show_upper_info())#确定 self.exit_button.clicked.connect(lambda: self.close()) # 为退出按钮添加点击事件 self.setFixedSize(500, 300) def show_info(self, info): # 显示信息 self.label1.setText("坐标:" + str(info[0])+","+str(info[1])+","+str(info[2])+","+str(info[3])) self.label4.setText("类别:" + str(info[4])) def show_upper_info(self): # 获取当前显示的信息 upper_info = self.label1.text() + "\n" + self.label4.text() # 在控制台输出上位机信息 print("\n" + upper_info) if __name__ == '__main__': # 假设这是第二个程序的输出 output = "123,456,宽,高,类别\n234,567,宽,高,类别\n345,678,宽,高,类别\n456,789,宽,高,类别\n" # 运行第二个程序并获取输出 proc = subprocess.Popen(["python", "second_program.py"], stdout=subprocess.PIPE) output, error = proc.communicate() # 将输出解析为数据列表 data = [line.strip().split(",") for line in output.decode().split("\n") if line.strip()] # 创建应用程序和窗口 app = QApplication(sys.argv) window = MainWindow(data) window.show() # 运行应用程序 sys.exit(app.exec_()) ``` 在这个示例代码中,我们假设第二个程序的输出是一个逗号分隔的文本字符串,每一行表示一个数据项。我们使用subprocess.Popen()函数来运行第二个程序,并将其输出通过管道传递给我们的程序。然后,我们使用output.decode()将输出的字节字符串解码为一个普通字符串,并将其按行分隔。我们使用strip()方法来删除每行开头和结尾的空格和换行符,并使用split(",")方法将每行分隔为一个数据列表。最后,我们将这些数据列表组成的列表传递给MainWindow类的构造函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失心疯_2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值