2

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

server 1
server 2
server 3

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

组合框代码:

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_()
4

1 回答 1

5

首先,有新型信号/插槽连接。代替

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

你可以做

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

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

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

连接到您的按钮clicked信号。在信号处理程序中检查您选择的组合选项并采取相应的操作。

于 2012-07-30T19:12:15.563 回答