entrada pyqt: configuración del entorno de Pyqt5 + PyCharm así como programa de prueba pequeña entrada-qt

Recientemente, un profesor del curso nos dijo algo de la interfaz gráfica del intervalo QT, con QtCreator, antes interfaz gráfica ha estado usando Python viene tkinter, toda la interfaz gráfica implementada en código previamente sabe qt muy fuerte, las cosas son tan es el aprendizaje hay muchos, no hay tiempo para aprender, el profesor también habló recientemente Qt, también demostró cierta fricción, construye automáticamente el código de arrastrar directamente el diseño del módulo, muy fácil, no el código de depuración, no me gusta para obtener el uso de C ++, como con, pitón configurado para buscar el entorno de desarrollo Qt, junto con el elevado número de hoy no quieren revisarlo para aprender qt, la forma en que el proceso de registro es el siguiente: para que todos puedan aprender ~

Algunos configuración de referencia es bloggers exitosos, a un portal, omití - Portal: https://blog.csdn.net/dz4543/article/details/81980389

Cuando se sigue la configuración anterior es blogger de éxito, qt para instalar su éxito! Después QtDesigner con un buen diseño puede convertir la versión qt pitón del código,

Si usted quiere tener éxito en PyCharm plazo en el interior, también hay que añadir el siguiente código

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow

if __name__ == '__main__':
    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

El siguiente ejemplo está diseñado con el calendario QtDesigner, se convierte en el siguiente código que se ejecuta el código Python son los siguientes:

Reemplazado después de código Python, en el interior con el código anterior, como sigue:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.11.3
#
# WARNING! All changes made in this file will be lost!
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 398)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.calendarWidget = QtWidgets.QCalendarWidget(self.centralwidget)
        self.calendarWidget.setGeometry(QtCore.QRect(40, 90, 248, 197))
        self.calendarWidget.setObjectName("calendarWidget")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

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

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
#添加代码
if __name__ == '__main__':
    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

Con el ejemplo anterior en el cuarto de galón de estudio detallado, pyqt5 documento chino: http://code.py40.com/pyqt5/14.html

Ejemplo simple :( anotada para explicar el código para ejecutar QtDesigner añadió más arriba):

import sys
from PyQt5.QtWidgets import QApplication,QWidget


if __name__ == '__main__':
    #每一pyqt5应用程序必须创建一个应用程序对象。sys.argv参数是一个列表,从命令行输入参数。
    app=QApplication(sys.argv)
    # QWidget部件是pyqt5所有用户界面对象的基类。他为QWidget提供默认构造函数。默认构造函数没有父类。
    W=QWidget()
    #resize()方法调整窗口的大小。这离是250px宽150px高
    W.resize(250,150)
    # move()方法移动窗口在屏幕上的位置到x = 300,y = 300坐标。
    W.move(300,300)
    # 设置窗口的标题
    W.setWindowTitle('样例')
    # 显示在屏幕上
    W.show()
    # 系统exit()方法确保应用程序干净的退出
    # 的exec_()方法有下划线。因为执行是一个Python关键词。因此,exec_()代替
    sys.exit(app.exec_())

 

icono de la aplicación :( ventana para agregar los iconos) aquí la atención sobre la necesidad de poner una foto con el directorio actual, y el nombre del mismo nombre y fotos

import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon

class Example(QWidget):

    def __init__(self):#初始化方法函数,调用类Example自动执行init代码再调用initUI

        super().__init__()

        self.initUI()  # 界面绘制交给InitUi方法

    def initUI(self):
        # 设置窗口的位置和大小
        self.setGeometry(300, 300, 300, 220)
        # 设置窗口的标题
        self.setWindowTitle('Icon')
        # 设置窗口的图标,引用当前目录下的web.png图片
        self.setWindowIcon(QIcon('web.ico'))

        # 显示窗口
        self.show()


if __name__ == '__main__':
    # 创建应用程序和对象
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

El código anterior utiliza la programación orientada a objetos, hay tres aspectos importantes: clases, variables y métodos. Aquí creamos una nueva clase de examle. Ejemplo hereda de la clase QWidget.

Visualización del indicador: Cuando el ratón sobre el botón se mostrará el símbolo.

import sys
from PyQt5.QtWidgets import (QWidget, QToolTip,QPushButton, QApplication)
from PyQt5.QtGui import QFont

class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        # 这种静态的方法设置一个用于显示工具提示的字体。我们使用10px滑体字体。
        QToolTip.setFont(QFont('SansSerif', 10))

        # 创建一个提示,我们称之为settooltip()方法。我们可以使用丰富的文本格式
        self.setToolTip('This is a <b>QWidget</b> widget')

        # 创建一个PushButton并为他设置一个tooltip
        btn = QPushButton('Button', self)
        btn.setToolTip('This is a <b>QPushButton</b> widget')

        # btn.sizeHint()显示默认尺寸
        btn.resize(btn.sizeHint())

        # 移动窗口的位置
        btn.move(50, 50)

        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Tooltips')
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sy

Cerrar : para crear un botón de salida, haga clic en el botón para salir.

import sys
from PyQt5.QtWidgets import QWidget, QPushButton, QApplication
from PyQt5.QtCore import QCoreApplication


class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        qbtn = QPushButton('Quit', self)
        qbtn.clicked.connect(QCoreApplication.instance().quit)#点击退出方法
        qbtn.resize(qbtn.sizeHint())
        qbtn.move(50, 50)

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Quit button')
        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

El cuadro de mensaje : Por defecto, si hacemos clic en el botón X en la ventana cerrada. A veces queremos cambiar este comportamiento predeterminado. Por ejemplo, hemos modificado un archivo en el editor, cuando estaba cerca, se muestra un cuadro de mensaje para confirmar. Cierre la ventana cuando se activa QCloseEvent. Tenemos que volver a escribir CloseEvent) gestor de eventos (.

 

import sys
from PyQt5.QtWidgets import QWidget, QMessageBox, QApplication

class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Message box')
        self.show()

    def closeEvent(self, event):

        reply = QMessageBox.question(self, 'Message',
                                     "Are you sure to quit?", QMessageBox.Yes |
                                     QMessageBox.No, QMessageBox.No)

        if reply == QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

visualización de la ventana en el centro de la pantalla:

import sys
from PyQt5.QtWidgets import QWidget, QDesktopWidget, QApplication
 
 
class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
        
    def initUI(self):               
        
        self.resize(250, 150)
        self.center()
        
        self.setWindowTitle('Center')    
        self.show()
        
    
    #控制窗口显示在屏幕中心的方法    
    def center(self):
        
        #获得窗口
        qr = self.frameGeometry()
        #获得屏幕中心点
        cp = QDesktopWidget().availableGeometry().center()
        #显示到屏幕中心
        qr.moveCenter(cp)
        self.move(qr.topLeft())
        
        
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())  

 

Publicados 395 artículos originales · ganado elogios 126 · Vistas de 200.000 +

Supongo que te gusta

Origin blog.csdn.net/memory_qianxiao/article/details/89929202
Recomendado
Clasificación