找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1495|回复: 1

[求助] qt5 connectSlotsByName怎么用?

1

主题

1

帖子

1

积分

贫民

积分
1
zhengdalu123 发表于 2022-10-8 19:37:13 | 显示全部楼层 |阅读模式
我用qt5 designer 写了一个界面,然后把.ui转成了.py文件,文件里自带一行QtCore.QMetaObject.connectSlotsByName(MainWindow),我按照网上教程写了ConnectButton的槽函数,界面能运行,但是点击ConnectButton没反应,这是为啥呀
回复

使用道具 举报

1

主题

1

帖子

1

积分

贫民

积分
1
zhengdalu123  楼主| 发表于 2022-10-8 19:40:32 | 显示全部楼层
  1. class Ui_MainWindow(object):
  2.     thread_data_server = dataserver_thread(time_buffer=3, ip_address='127.0.0.1')
  3.     clf = []
  4.     detectflag = 1
  5.     Q = []
  6.     dataset_coef = []
  7.     trial = 1

  8.     def setupUi(self, MainWindow):
  9.         MainWindow.setObjectName("MainWindow")
  10.         MainWindow.resize(580, 660)
  11.         self.centralwidget = QtWidgets.QWidget(MainWindow)
  12.         self.centralwidget.setObjectName("centralwidget")
  13.         self.ConnectButton = QtWidgets.QPushButton(self.centralwidget)
  14.         self.ConnectButton.setGeometry(QtCore.QRect(110, 380, 101, 28))
  15.         self.ConnectButton.setCheckable(False)
  16.         self.ConnectButton.setObjectName("ConnectButton")
  17.         self.label = QtWidgets.QLabel(self.centralwidget)
  18.         self.label.setGeometry(QtCore.QRect(120, 340, 81, 31))
  19.         font = QtGui.QFont()
  20.         font.setFamily("微软雅黑")
  21.         font.setPointSize(12)
  22.         self.label.setFont(font)
  23.         self.label.setObjectName("label")
  24.         self.ResultBrowser = QtWidgets.QTextBrowser(self.centralwidget)
  25.         self.ResultBrowser.setGeometry(QtCore.QRect(40, 430, 491, 192))
  26.         font = QtGui.QFont()
  27.         font.setFamily("微软雅黑")
  28.         font.setPointSize(10)
  29.         self.ResultBrowser.setFont(font)
  30.         self.ResultBrowser.setObjectName("ResultBrowser")
  31.         self.StartButton = QtWidgets.QPushButton(self.centralwidget)
  32.         self.StartButton.setGeometry(QtCore.QRect(370, 280, 101, 28))
  33.         self.StartButton.setObjectName("StartButton")
  34.         self.label_2 = QtWidgets.QLabel(self.centralwidget)
  35.         self.label_2.setGeometry(QtCore.QRect(380, 240, 81, 31))
  36.         font = QtGui.QFont()
  37.         font.setFamily("微软雅黑")
  38.         font.setPointSize(12)
  39.         self.label_2.setFont(font)
  40.         self.label_2.setObjectName("label_2")
  41.         self.ModelPath = QtWidgets.QLineEdit(self.centralwidget)
  42.         self.ModelPath.setGeometry(QtCore.QRect(140, 80, 421, 31))
  43.         self.ModelPath.setObjectName("ModelPath")
  44.         self.label_3 = QtWidgets.QLabel(self.centralwidget)
  45.         self.label_3.setGeometry(QtCore.QRect(10, 80, 121, 31))
  46.         font = QtGui.QFont()
  47.         font.setFamily("微软雅黑")
  48.         font.setPointSize(12)
  49.         self.label_3.setFont(font)
  50.         self.label_3.setObjectName("label_3")
  51.         self.label_4 = QtWidgets.QLabel(self.centralwidget)
  52.         self.label_4.setGeometry(QtCore.QRect(100, 20, 351, 31))
  53.         font = QtGui.QFont()
  54.         font.setFamily("微软雅黑")
  55.         font.setPointSize(16)
  56.         self.label_4.setFont(font)
  57.         self.label_4.setObjectName("label_4")
  58.         self.line = QtWidgets.QFrame(self.centralwidget)
  59.         self.line.setGeometry(QtCore.QRect(7, 60, 561, 16))
  60.         self.line.setFrameShape(QtWidgets.QFrame.HLine)
  61.         self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
  62.         self.line.setObjectName("line")
  63.         self.TrialNum = QtWidgets.QLineEdit(self.centralwidget)
  64.         self.TrialNum.setGeometry(QtCore.QRect(140, 130, 81, 31))
  65.         self.TrialNum.setObjectName("TrialNum")
  66.         self.label_5 = QtWidgets.QLabel(self.centralwidget)
  67.         self.label_5.setGeometry(QtCore.QRect(20, 130, 101, 31))
  68.         font = QtGui.QFont()
  69.         font.setFamily("微软雅黑")
  70.         font.setPointSize(12)
  71.         self.label_5.setFont(font)
  72.         self.label_5.setObjectName("label_5")
  73.         self.label_6 = QtWidgets.QLabel(self.centralwidget)
  74.         self.label_6.setGeometry(QtCore.QRect(380, 340, 81, 31))
  75.         font = QtGui.QFont()
  76.         font.setFamily("微软雅黑")
  77.         font.setPointSize(12)
  78.         self.label_6.setFont(font)
  79.         self.label_6.setObjectName("label_6")
  80.         self.StopButton = QtWidgets.QPushButton(self.centralwidget)
  81.         self.StopButton.setGeometry(QtCore.QRect(370, 380, 101, 28))
  82.         self.StopButton.setObjectName("StopButton")
  83.         self.label_7 = QtWidgets.QLabel(self.centralwidget)
  84.         self.label_7.setGeometry(QtCore.QRect(260, 130, 141, 31))
  85.         font = QtGui.QFont()
  86.         font.setFamily("微软雅黑")
  87.         font.setPointSize(12)
  88.         self.label_7.setFont(font)
  89.         self.label_7.setObjectName("label_7")
  90.         self.TimerBufferLength = QtWidgets.QLineEdit(self.centralwidget)
  91.         self.TimerBufferLength.setGeometry(QtCore.QRect(410, 130, 41, 31))
  92.         self.TimerBufferLength.setObjectName("TimerBufferLength")
  93.         self.label_8 = QtWidgets.QLabel(self.centralwidget)
  94.         self.label_8.setGeometry(QtCore.QRect(460, 130, 21, 31))
  95.         font = QtGui.QFont()
  96.         font.setFamily("微软雅黑")
  97.         font.setPointSize(12)
  98.         self.label_8.setFont(font)
  99.         self.label_8.setObjectName("label_8")
  100.         self.label_9 = QtWidgets.QLabel(self.centralwidget)
  101.         self.label_9.setGeometry(QtCore.QRect(120, 240, 81, 31))
  102.         font = QtGui.QFont()
  103.         font.setFamily("微软雅黑")
  104.         font.setPointSize(12)
  105.         self.label_9.setFont(font)
  106.         self.label_9.setObjectName("label_9")
  107.         self.StartButton_2 = QtWidgets.QPushButton(self.centralwidget)
  108.         self.StartButton_2.setGeometry(QtCore.QRect(110, 280, 101, 28))
  109.         self.StartButton_2.setObjectName("StartButton_2")
  110.         self.line_2 = QtWidgets.QFrame(self.centralwidget)
  111.         self.line_2.setGeometry(QtCore.QRect(280, 240, 20, 181))
  112.         self.line_2.setFrameShape(QtWidgets.QFrame.VLine)
  113.         self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
  114.         self.line_2.setObjectName("line_2")
  115.         self.line_3 = QtWidgets.QFrame(self.centralwidget)
  116.         self.line_3.setGeometry(QtCore.QRect(10, 220, 561, 16))
  117.         self.line_3.setFrameShape(QtWidgets.QFrame.HLine)
  118.         self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken)
  119.         self.line_3.setObjectName("line_3")
  120.         self.label_10 = QtWidgets.QLabel(self.centralwidget)
  121.         self.label_10.setGeometry(QtCore.QRect(10, 180, 121, 31))
  122.         font = QtGui.QFont()
  123.         font.setFamily("微软雅黑")
  124.         font.setPointSize(12)
  125.         self.label_10.setFont(font)
  126.         self.label_10.setObjectName("label_10")
  127.         self.ResultPath = QtWidgets.QLineEdit(self.centralwidget)
  128.         self.ResultPath.setGeometry(QtCore.QRect(140, 180, 421, 31))
  129.         self.ResultPath.setObjectName("ResultPath")
  130.         MainWindow.setCentralWidget(self.centralwidget)
  131.         self.statusbar = QtWidgets.QStatusBar(MainWindow)
  132.         self.statusbar.setObjectName("statusbar")
  133.         MainWindow.setStatusBar(self.statusbar)

  134.         self.retranslateUi(MainWindow)
  135.         QtCore.QMetaObject.connectSlotsByName(MainWindow)

  136.     def retranslateUi(self, MainWindow):
  137.         _translate = QtCore.QCoreApplication.translate
  138.         MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
  139.         self.ConnectButton.setText(_translate("MainWindow", "连接"))
  140.         self.label.setText(_translate("MainWindow", "设备连接"))
  141.         self.ResultBrowser.setHtml(_translate("MainWindow",
  142.                                               "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">\n"
  143.                                               "<html><head><meta name="qrichtext" content="1" /><style type="text/css">\n"
  144.                                               "p, li { white-space: pre-wrap; }\n"
  145.                                               "</style></head><body style=" font-family:\'微软雅黑\'; font-size:10pt; font-weight:400; font-style:normal;">\n"
  146.                                               "<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">设备连接过程和检测结果将在此显示</p></body></html>"))
  147.         self.StartButton.setText(_translate("MainWindow", "开始"))
  148.         self.label_2.setText(_translate("MainWindow", "开始检测"))
  149.         self.ModelPath.setText(_translate("MainWindow", "RSVPModel.mat"))
  150.         self.label_3.setText(_translate("MainWindow", "模型数据路径"))
  151.         self.label_4.setText(_translate("MainWindow", "视频RSVP目标检测系统 V1.0"))
  152.         self.TrialNum.setText(_translate("MainWindow", "127.0.0.1"))
  153.         self.label_5.setText(_translate("MainWindow", "设备IP地址"))
  154.         self.label_6.setText(_translate("MainWindow", "停止检测"))
  155.         self.StopButton.setText(_translate("MainWindow", "停止"))
  156.         self.label_7.setText(_translate("MainWindow", "数据寄存器长度"))
  157.         self.TimerBufferLength.setText(_translate("MainWindow", "3"))
  158.         self.label_8.setText(_translate("MainWindow", "S"))
  159.         self.label_9.setText(_translate("MainWindow", "模型载入"))
  160.         self.StartButton_2.setText(_translate("MainWindow", "装载"))
  161.         self.label_10.setText(_translate("MainWindow", "结果保存路径"))
  162.         self.ResultPath.setText(_translate("MainWindow", "PredictResult.txt"))

  163.     @QtCore.pyqtSlot()
  164.     def on_ConnectButton_clicked(self):
  165.         print('11111')
  166.         self.thread_data_server.Daemon = True
  167.         notconnect = self.thread_data_server.connect_tcp()
  168.         if notconnect:
  169.             self.ResultBrowser.setText('无法连接NeuroScan,请检查ip地址设置')
  170.         else:
  171.             self.thread_data_server.start_acq()
  172.             self.thread_data_server.start()
  173.             self.ResultBrowser.setText('已连接NeuroScan')


  174. if __name__ == '__main__':
  175.     app = QtWidgets.QApplication(sys.argv)
  176.     MainWindow = QtWidgets.QMainWindow()
  177.     ui = Ui_MainWindow()
  178.     ui.setupUi(MainWindow)
  179.     MainWindow.show()
  180.     sys.exit(app.exec_())
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表