Python和PyQt5的应用程序

@高效码农  August 14, 2020

创建一个应用程序

import sys
from PyQt5.QtWidgets import QApplication

# 每一pyqt5应用程序必须创建一个应用程序对象。sys.argv参数是一个列表,从命令行输入参数。
app = QApplication(sys.argv)

# exec_()方法有下划线。因为执行是一个Python关键词。因此,exec_()代替
app.exec_()

# 应用程序不会到达这里,直到你退出和事件循环已停止。

创建一个窗口

import sys
from PyQt5.QtWidgets import QApplication, QWidget


app = QApplication(sys.argv)

window = QWidget()
window.show() # 很重要!!!!! Windows默认是隐藏的.

# Start the event loop.
app.exec_()

任何没有父组件(包含组件)的QWidget都是它自己的窗口。这是一种创建窗口的好方法,但是还有一个特定的QMainWindow类。这对于作为应用程序的主窗口有一些好处,包括支持工具栏、状态栏和可停靠的小部件。要使用QMainWindow,只需在代码中替换:

import sys
from PyQt5.QtWidgets import QApplication, QWidget


app = QApplication(sys.argv)

window = QMainWindow()
window.show() # 很重要!!!!! Windows默认是隐藏的.

# Start the event loop.
app.exec_()

运行上面你应该看到一个空窗口在你的桌面上

2020-08-14T03:23:48.png

添加第一个小部件

import sys
from PyQt5.QtWidgets import QApplication, QLabel, QMainWindow
from PyQt5.QtCore import Qt

# 子类QMainWindow设置在应用程序的主窗口
class MainWindow(QMainWindow):

    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)

        self.setWindowTitle("高效码农")

        label = QLabel("This is a 高效码农 window!")

        # Qt名称空间有很多属性需要设置
        # widgets. See: http://doc.qt.io/qt-5/qt.html
        label.setAlignment(Qt.AlignCenter)

        #设置窗口的中心部件。小部件将扩大
        #在默认情况下占用窗口中的所有空间。
        self.setCentralWidget(label)


app = QApplication(sys.argv)

window = MainWindow()
window.show()

app.exec_()

运行此代码,您应该会像以前一样看到桌面上的窗口,但是这一次还可以看到QLabel中的标签。窗口可以通过拖动边缘来调整大小,对齐设置应该使文本在窗口中居中。
2020-08-14T03:28:05.png



添加新评论