|
pyside2界面中, 一个从mysql读的dataframe数据,多个btn都会调用,怎么让每个BTN不用每次用都查一下mysql。
- # -*- coding: utf-8 -*-
- from PySide2.QtWidgets import QApplication,QMainWindow
- from ui_main import Ui_MainWindow
- lista = ['a','b','c']
- class MainWindow(QMainWindow):
- def __init__(self):
- super().__init__()
- self.ui = Ui_MainWindow()
- self.ui.setupUi(self)
- self.ui.label.setNum(1)
- self.ui.btn1.clicked.connect(self.bt1click)
- self.ui.btn2.clicked.connect(self.bt2click)
- self.ui.btn3.clicked.connect(self.bt3click)
- def bt1click(self):
- i = int(self.ui.label.text())
- abc = lista[i]
- print(abc)
- def bt2click(self):
- print(abc) #怎么调整用abc,而不用再如bt1click中再算一次
- def bt3click(self):
- print(abc) #怎么调整用abc,而不用再如bt1click中再算一次
- app = QApplication([])
- mainw = MainWindow()
- mainw.show()
- app.exec_()
复制代码
ui_main.py
- # -*- coding: utf-8 -*-
- ################################################################################
- ## Form generated from reading UI file 'mainmIFADZ.ui'
- ##
- ## Created by: Qt User Interface Compiler version 5.15.2
- ##
- ## WARNING! All changes made in this file will be lost when recompiling UI file!
- ################################################################################
- from PySide2.QtCore import *
- from PySide2.QtGui import *
- from PySide2.QtWidgets import *
- class Ui_MainWindow(object):
- def setupUi(self, MainWindow):
- if not MainWindow.objectName():
- MainWindow.setObjectName(u"MainWindow")
- MainWindow.resize(312, 349)
- self.centralwidget = QWidget(MainWindow)
- self.centralwidget.setObjectName(u"centralwidget")
- self.btn1 = QPushButton(self.centralwidget)
- self.btn1.setObjectName(u"btn1")
- self.btn1.setGeometry(QRect(40, 220, 75, 23))
- self.btn2 = QPushButton(self.centralwidget)
- self.btn2.setObjectName(u"btn2")
- self.btn2.setGeometry(QRect(130, 220, 75, 23))
- self.label = QLabel(self.centralwidget)
- self.label.setObjectName(u"label")
- self.label.setGeometry(QRect(120, 120, 54, 12))
- self.btn3 = QPushButton(self.centralwidget)
- self.btn3.setObjectName(u"btn3")
- self.btn3.setGeometry(QRect(200, 260, 75, 23))
- MainWindow.setCentralWidget(self.centralwidget)
- self.statusbar = QStatusBar(MainWindow)
- self.statusbar.setObjectName(u"statusbar")
- MainWindow.setStatusBar(self.statusbar)
- self.retranslateUi(MainWindow)
- QMetaObject.connectSlotsByName(MainWindow)
- # setupUi
- def retranslateUi(self, MainWindow):
- MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None))
- self.btn1.setText(QCoreApplication.translate("MainWindow", u"btn1", None))
- self.btn2.setText(QCoreApplication.translate("MainWindow", u"btn2", None))
- self.label.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None))
- self.btn3.setText(QCoreApplication.translate("MainWindow", u"btn3", None))
- # retranslateUi
复制代码
|
|