PyQT4에 메시지 상자를 표시하는 방법은 무엇입니까?
간단한 PyQT 애플리케이션에서 버튼을 클릭할 때 MessageBox를 표시하고 싶습니다. 두 개의 텍스트 상자를 선언하고 두 텍스트 상자의 텍스트와 함께 MessageBox를 표시하려면 어떻게 해야 합니까?
내 코드는 다음과 같습니다.
수입 시스템
PyQt4에서 QtGui, QtCore 가져오기
class myWindow(QtGui.QWidget):
def init(자신, 부모=없음):
QtGui.QWidget.init(자신, 부모)
#The setGeometry method is used to position the control.
#Order: X, Y position - Width, Height of control.
self.setGeometry(300, 300, 500, 350)
self.setWindowTitle("Sergio's QT Application.")
self.setWindowIcon(QtGui.QIcon('menuScreenFolderShadow.png'))
self.setToolTip('<i>Welcome</i> to the <b>first</b> app ever!')
QtGui.QToolTip.setFont(QtGui.QFont('Helvetica', 12))
txtFirstName = QtGui.?
txtLastName = QtGui.?
btnQuit = QtGui.QPushButton('Exit Application', self)
btnQuit.setGeometry(340, 300, 150, 35)
self.connect(btnQuit, QtCore.SIGNAL('clicked()'),
QtGui.qApp, QtCore.SLOT('quit()'))
앱 = QtGui.QApplication(sys.argv)
메인폼 = myWindow()
메인폼.쇼()
sys.exit(app.exec_())
해결책 1:
이러한 간단한 코드는 일반적인 요청이므로 기본적인 것을 함께 해킹하기로 결정했습니다.
PyQt4.QtCore 가져오기에서 *
PyQt4.QtGui 가져오기에서 *
클래스 AppForm(QMainWindow):
def init(자신, 부모=없음):
QMainWindow.init(자신, 부모)
self.create_main_frame()
def create_main_frame(self):
page = QWidget()
self.button = QPushButton('joy', page)
self.edit1 = QLineEdit()
self.edit2 = QLineEdit()
vbox1 = QVBoxLayout()
vbox1.addWidget(self.edit1)
vbox1.addWidget(self.edit2)
vbox1.addWidget(self.button)
page.setLayout(vbox1)
self.setCentralWidget(page)
self.connect(self.button, SIGNAL("clicked()"), self.clicked)
def clicked(self):
QMessageBox.about(self, "My message box", "Text1 = %s, Text2 = %s" % (
self.edit1.text(), self.edit2.text()))
이름 == "메인"인 경우:
수입 시스템
앱 = QApplication(sys.argv)
양식 = AppForm()
form.show()
app.exec_()
줄 편집(텍스트 상자)에 무언가를 쓰고 버튼을 클릭합니다. 이익! :-)
참고: 더 적은 코드로 수행할 수 있지만 이것은 좋은 PyQt 코딩 방법입니다. 창의 중심 위젯 역할을 하는 위젯을 만들고 레이아웃으로 채우는 등의 작업을 수행할 수 있습니다.
해결책 2:
PyQt는 설치 시 예제와 함께 제공됩니다. 이 예제에는 매우 유용한 코드가 많이 포함되어 있으며 여기에서 배울 수 있을 뿐만 아니라 전체 코드 덩어리를 가져와 사용할 수 있습니다.
예를 들어 다른 항목과 함께 메시지 상자를 표시하는 "주소록"예제를 확인하십시오("messagebox"에 대한 해당 소스 검색).
해결책 3:
여기에 이미지 설명 입력
PyQt4에서 QtGui, QtCore 가져오기
클래스 창( QtGui.QWidget ):
def __init__( self ):
QtGui.QWidget.__init__( self )
msgBox = QtGui.QMessageBox( self )
msgBox.setIcon( QtGui.QMessageBox.Information )
msgBox.setText( "Do not stare into laser with remaining eye" )
msgBox.setInformativeText( "Do you really want to disable safety enforcement?" )
msgBox.addButton( QtGui.QMessageBox.Yes )
msgBox.addButton( QtGui.QMessageBox.No )
msgBox.setDefaultButton( QtGui.QMessageBox.No )
ret = msgBox.exec_()
if ret == QtGui.QMessageBox.Yes:
print( "Yes" )
return
else:
print( "No" )
return
이름 == '메인'인 경우:
import sys
app = QtGui.QApplication( sys.argv )
window = Window()
# window.show()
sys.exit( app.exec_() )
원천:
https://pythonhowto.org/howto/22358/python---How-to-display-a-message-box-on-PyQT4?
pythonhowto
Reference
이 문제에 관하여(PyQT4에 메시지 상자를 표시하는 방법은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ztologame/python-how-to-display-a-message-box-on-pyqt4-4gcl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)