【问题标题】:How to read QComboBox data and storesit into mysql database如何读取 QComboBox 数据并将其存储到 mysql 数据库中
【发布时间】:2018-03-06 01:06:15
【问题描述】:

如何从 QComboBox 中获取选定的项目,并在单击按钮时将组合框的选定项目存储到数据库中...

import MySQLdb    
import sys    
from PyQt4.QtCore import *    
from PyQt4.QtGui import *

def win():

    db=MySQLdb.connect('localhost','root','Suhel786','radio')    
    cursor=db.cursor()    

    app=QApplication(sys.argv)    

    w=QWidget()    
    co=QComboBox()    
    co.addItem("A+")    
    co.addItem("A-")    
    b1 = QPushButton("Tap it!")    
    w.setWindowTitle("Combo")    
    hbox=QHBoxLayout()    
    hbox.addWidget(co)    
    hbox.addWidget(b1)

    b1.clicked.connect(b1_action)

    w.setLayout(hbox)

    w.show()

    db.commit()    
    db.close()

    sys.exit(app.exec_())

def b1_action():    
    print "data is inserted"        

win()

【问题讨论】:

  • 数据库中的表是什么,字段是什么?
  • 标签名称是测试和字段血型 varchar 类型
  • 你想在什么事件之前插入?每次从 QComboBox 中选择一个项目?
  • 简而言之,每次按下保存按钮时,QComboBox的选中文本都会被保存。
  • 是的,如果点击保存按钮,那么数据将被保存

标签: python mysql pyqt pyqt4 qcombobox


【解决方案1】:

您必须将按钮的clicked信号与某个槽连接,在这种情况下槽将是保存方法,在这个函数中我们将通过QComboBoxcurrentText()方法获取选定的文本,并且将其插入数据库,如下所示:

class Win(QWidget):
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        self.db = MySQLdb.connect('localhost','root','Suhel786','radio')
        self.cursor = self.db.cursor()

        self.db.commit()
        self.setLayout(QHBoxLayout())
        self.btn = QPushButton("Save", self)
        self.combo = QComboBox(self)
        self.combo.addItems(["A+", "A-", "AB-"])
        self.layout().addWidget(self.btn)
        self.layout().addWidget(self.combo)
        self.btn.clicked.connect(self.save)

    def save(self):
        text = self.combo.currentText()
        self.cursor.execute("INSERT INTO test (Blood) values('{}')".format(text))
        self.db.commit()


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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多