Я новичок в Python, и я хочу сделать простой код для печати сообщения на консоли Python при нажатии QPushButton. Я разделил код на 2 .py файла (один для пользовательского интерфейса, а другой для основного приложения). Хотя это должно быть очень просто, мне все равно не удалось заставить его работать.Сообщение консоли печати при нажатии QPushButton
Я уверен, что это ошибка начинающего, но я не могу найти, что не так, когда я проверяю ответы на соответствующие сообщения или даже сравниваю с аналогичным кодом с другими сообщениями в этом форуме.
«Тест от основного!», «Тест от главного - второй раз!» и "Test from edit!" линии печати появились на консоли, но я не знаю, почему другие два не вызываются при нажатии кнопки. Я предполагаю, что я делаю что-то неправильно с методом clicked.connect().
Танк у вас всех очень много.
код файла выглядит следующим образом:
Код UI:
from PyQt4 import QtCore, QtGui
from PyQt4.QtCore import *
from PyQt4.QtGui import *
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName(_fromUtf8("Dialog"))
Dialog.resize(850, 450)
self.pushButton_2 = QtGui.QPushButton(Dialog)
self.pushButton_2.setGeometry(QtCore.QRect(100, 60, 251, 61))
self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
self.pushButton_Selection = QtGui.QPushButton(Dialog)
self.pushButton_Selection.setGeometry(QtCore.QRect(148, 250, 161, 61))
self.pushButton_Selection.setObjectName(_fromUtf8("pushButton_Selection"))
self.retranslateUi(Dialog)
def retranslateUi(self, Dialog):
Dialog.setWindowTitle(_translate("Dialog", "Communication", None))
self.pushButton_2.setText(_translate("Dialog", "Print Line", None))
self.pushButton_Selection.setText(_translate("Dialog", "Select sensor", None))
print "Test from edit!"
Основной код файла:
import sys
import PyQt4.QtCore as QtCore
import PyQt4.QtGui as QtGui
from EditTxt_ui import Ui_Dialog
print "Test from main!"
class MyForm(QtGui.QMainWindow, Ui_Dialog):
def __init__(self, parent=None):
super(MyForm, self).__init__(parent)
self.ui.setupUi(self)
self.pushButton_2.clicked.connect(self.print_LineEdit)
self.pushButton_Selection.clicked.connect(self.print_Selection)
print "Test from main - 2nd time!"
def print_LineEdit(self):
print "Print from LineEdit!"
def print_Selection(self):
print "Print Selection!"
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = Ui_Dialog()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())