PyQt Combobox为项目添加功能

时间:2012-07-30 19:06:13

标签: python pyqt

如何将功能添加到特定选项中。我有一个带有服务器选择的组合框

server 1
server 2
server 3

我也有一个按钮,我想要做的是当用户选择其中一个服务器时,例如,如果他选择服务器1,当用户按下按钮时,按钮会发出一个mysql数据库来下载数据。我知道如何做信号,但我不明白的是如何将组合框的选项连接到按钮,以便我可以下载正确的服务器数据。

Combobox代码:

import sys
from PyQt4 import QtGui, QtCore

class server(QtGui.QWidget):
    """
    An basic example combo box application
    """

    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.setWindowTitle('server')
        # Set the window dimensions
        self.resize(250,50)

        self.vbox = QtGui.QVBoxLayout()
        self.setLayout(self.vbox)

        self.combo = QtGui.QComboBox()
        self.vbox.addWidget(self.combo)


        self.combo.addItem('server1')
        self.combo.addItem('server2')
        self.combo.addItem('server3')



if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    gui = server()
    gui.show()
    app.exec_()

1 个答案:

答案 0 :(得分:4)

首先,有新的信号/插槽连接。而不是

self.connect(self.combo, QtCore.SIGNAL('activated(QString)'), self.combo_chosen)

你可以做到

self.combo.activated.connect(self.combo_chosen)

但是你不需要为你的任务连接到组合的信号。

  

我也有一个按钮,我想要做的是当用户选择其中一个时   例如,服务器,如果他选择服务器1,当用户时   按下按钮,按钮发出一个mysql数据库信号进行下载   数据

连接到按钮clicked信号。在信号处理程序中,检查您的combo selected option并采取相应的措施。