python - 使用 pyqt5,我无法在任何小部件上附加功能,这是 codeself.toolButton1.clicked()
问题描述
我正在使用 PYQT5 制作 GUI。我无法将功能附加到任何小部件。在第 11 行中,在“self.toolButton1.clicked()”之后没有找到“连接”方法。使用最新版本的 Pyqt 请帮助
from UI_Scripts import QT_test1
from PyQt5 import QtGui, QtCore, QtWidgets
class MyQtApp(QT_test1.Ui_MainWindow, QtWidgets.QMainWindow):
def __init__(self):
super(MyQtApp, self).__init__()
self.setupUi(self)
self.showMaximized()
self.setWindowTitle("Subhanshu")
self.toolButton1.clicked().?
def print_n(self):
print('Subhanshu')
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
qt_app = MyQtApp()
qt_app.show()
sys.exit(app.exec_())
解决方案
试试看:
主文件
#from UI_Scripts import QT_test1
from UI_Scripts.QT_test1 import Ui_MainWindow
from PyQt5 import QtGui, QtCore, QtWidgets
#class MyQtApp(QT_test1.Ui_MainWindow, QtWidgets.QMainWindow):
class MyQtApp(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super(MyQtApp, self).__init__()
self.setupUi(self)
self.showMaximized()
self.setWindowTitle("Subhanshu")
# self.toolButton1.clicked().?
self.toolButton1.clicked.connect(self.print_n)
def print_n(self):
print('Subhanshu: txt_user->{}, txt_pass->{}'
''.format(self.txt_user.text(), self.txt_pass.text()))
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
qt_app = MyQtApp()
qt_app.show()
sys.exit(app.exec_())
UI_Scripts.QT_test1.py
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(600, 350)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.txt_user = QtWidgets.QLineEdit(self.centralwidget)
self.txt_user.setGeometry(QtCore.QRect(320, 130, 120, 20))
self.txt_pass = QtWidgets.QLineEdit(self.centralwidget)
self.txt_pass.setGeometry(QtCore.QRect(320, 170, 120, 20))
self.toolButton1=QtWidgets.QToolButton(self.centralwidget)
self.toolButton1.setIcon(QtGui.QIcon('D:/_Qt/img/py-qt.png'))
self.toolButton1.setAutoRaise(True)
self.toolButton1.setToolTip("ToolButton")
self.toolButton1.setIconSize(QtCore.QSize(70, 70))
self.toolButton1.setGeometry(QtCore.QRect(320, 200, 120, 120))
MainWindow.setCentralWidget(self.centralwidget)
# ...
推荐阅读
- python-3.x - 有没有办法一次将阈值应用于图像 1 行
- swift - Swift macOS NSTableView 很慢
- reactjs - 在同一个组件中结合 useReducer 和 useState
- wpf - MVVM Light 模板未显示在“添加项目”菜单(VS 2017)中?
- ag-grid - ag-grid 列菜单重置列事件?
- python-3.x - 代码不检查输入的答案是否正确
- android - 在自定义视图中膨胀布局后输入事件异常
- python - 在 3 个文本文件之间写入正数和负数
- ios - AudioKit 4.6 没有声音
- c# - 如何从 XML 文件中的 ListBox 中删除所选节点