如何将功能添加到特定选项。我有一个带有服务器选项的组合框
server 1
server 2
server 3
Run Code Online (Sandbox Code Playgroud)
我还有一个按钮,我想做的是当用户选择其中一台服务器时,例如,如果他选择服务器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_()
Run Code Online (Sandbox Code Playgroud)
首先,有新样式的信号/插槽连接。代替
self.connect(self.combo, QtCore.SIGNAL('activated(QString)'), self.combo_chosen)
Run Code Online (Sandbox Code Playgroud)
你可以做
self.combo.activated.connect(self.combo_chosen)
Run Code Online (Sandbox Code Playgroud)
但是您不需要为您的任务连接到组合信号。
我还有一个按钮,我想做的是当用户选择其中一台服务器时,例如,如果他选择服务器1,当用户按下按钮时,该按钮会向mysql数据库发出信号以下载数据。
连接到您的按钮clicked信号。在信号处理程序中检查您的组合选择选项并采取相应的行动。