首頁 > 後端開發 > Python教學 > python使用PyQt5的詳細教學(程式碼範例)

python使用PyQt5的詳細教學(程式碼範例)

不言
發布: 2019-03-01 11:34:19
轉載
33282 人瀏覽過

這篇文章帶給大家的內容是關於python使用PyQt5的詳細教學(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

一:安裝PyQt5

1

pip install pyqt5

登入後複製

二:PyQt5簡單使用

1:使用PyQt5建立一個簡單視窗

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

import sys

from PyQt5 import QtWidgets

#创建一个应用(Application)对象,sys.argv参数是一个来自命令行的参数列表,

# Python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。

app = QtWidgets.QApplication(sys.argv)

#创建一个widget组件基础类

windows = QtWidgets.QWidget()

#设置widget组件的大小(w,h)

windows.resize(500,500)

#设置widget组件的位置(x,y)

windows.move(100,100)

"""

#设置widget组件的位置居中

qr = windows.frameGeometry()

cp = QtWidgets.QDesktopWidget().availableGeometry().center()

qr.moveCenter(cp)

windows.move(qr.topLeft())

"""

#等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h)

#windows.setGeometry(100,100,500,500)

#show()方法在屏幕上显示出widget组件

windows.show()

#循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过

sys.exit(app.exec_())

登入後複製

現像如下:

python使用PyQt5的詳細教學(程式碼範例)

2:為創建的視窗新增標題和圖示

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

import sys

from PyQt5 import QtWidgets,QtGui

#创建一个应用(Application)对象,sys.argv参数是一个来自命令行的参数列表,

# Python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。

app = QtWidgets.QApplication(sys.argv)

#创建一个widget组件基础类

windows = QtWidgets.QWidget()

#设置widget组件的大小(w,h)

windows.resize(500,500)

#设置widget组件的位置(x,y)

windows.move(100,100)

"""

#设置widget组件的位置居中

qr = windows.frameGeometry()

cp = QtWidgets.QDesktopWidget().availableGeometry().center()

qr.moveCenter(cp)

windows.move(qr.topLeft())

"""

#等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h)

#windows.setGeometry(100,100,500,500)

#给widget组件设置标题

windows.setWindowTitle('标题')

#给widget组件设置图标

windows.setWindowIcon(QtGui.QIcon('2.png'))

#show()方法在屏幕上显示出widget组件

windows.show()

#循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过

sys.exit(app.exec_())

登入後複製

現像如下:

python使用PyQt5的詳細教學(程式碼範例)

3:給創建的視窗設定按鈕及設定提示語

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

import sys

from PyQt5 import QtWidgets,QtGui

#创建一个应用(Application)对象,sys.argv参数是一个来自命令行的参数列表,

# Python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。

app = QtWidgets.QApplication(sys.argv)

#创建一个widget组件基础类

windows = QtWidgets.QWidget()

#设置widget组件的大小(w,h)

windows.resize(500,500)

#设置widget组件的位置(x,y)

windows.move(100,100)

"""

#设置widget组件的位置居中

qr = windows.frameGeometry()

cp = QtWidgets.QDesktopWidget().availableGeometry().center()

qr.moveCenter(cp)

windows.move(qr.topLeft())

"""

#等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h)

#windows.setGeometry(100,100,500,500)

#给widget组件设置标题

windows.setWindowTitle('标题')

#给widget组件设置图标

windows.setWindowIcon(QtGui.QIcon('2.png'))

#设置提示语的字体和大小

QtWidgets.QToolTip.setFont(QtGui.QFont('SansSerif', 10))

#给widget组件设置提示语

windows.setToolTip('这是窗口提示')

#设置按钮并给按钮命名

btn = QtWidgets.QPushButton('button',windows)

#给按钮设置位置(x,y,w,h)

btn.setGeometry(200,200,100,50)

#给按钮设置提示语

btn.setToolTip('这是按钮提示')

#设置按钮样式

btn.setStyleSheet("background-color: rgb(164, 185, 255);"

        "border-color: rgb(170, 150, 163);"

        "font: 75 12pt \"Arial Narrow\";"

        "color: rgb(126, 255, 46);")

#点击按钮关闭创建的窗口

btn.clicked.connect(QtCore.QCoreApplication.instance().quit)

#show()方法在屏幕上显示出widget组件

windows.show()

#循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过

sys.exit(app.exec_())

登入後複製

現像如下(點選button按鈕,視窗關閉):

python使用PyQt5的詳細教學(程式碼範例)

##4:設定標籤(lable)訊息

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

import sys

from PyQt5 import QtWidgets,QtGui,QtCore

#创建一个应用(Application)对象,sys.argv参数是一个来自命令行的参数列表,

# Python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。

app = QtWidgets.QApplication(sys.argv)

#创建一个widget组件基础类

windows = QtWidgets.QWidget()

#设置widget组件的大小(w,h)

windows.resize(500,500)

#设置widget组件的位置(x,y)

windows.move(100,100)

"""

#设置widget组件的位置居中

qr = windows.frameGeometry()

cp = QtWidgets.QDesktopWidget().availableGeometry().center()

qr.moveCenter(cp)

windows.move(qr.topLeft())

"""

#等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h)

#windows.setGeometry(100,100,500,500)

#给widget组件设置标题

windows.setWindowTitle('标题')

#给widget组件设置图标

windows.setWindowIcon(QtGui.QIcon('2.png'))

#设置lable信息

label = QtWidgets.QLabel(windows)

label.setGeometry(QtCore.QRect(100, 10, 100, 60))

label.setText('这是lable信息')

label.setObjectName('label')

#show()方法在屏幕上显示出widget组件

windows.show()

#循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过

sys.exit(app.exec_())

登入後複製
現像如下:

python使用PyQt5的詳細教學(程式碼範例)

5:設定輸入框

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

import sys

from PyQt5 import QtWidgets,QtGui,QtCore,Qt

#创建一个应用(Application)对象,sys.argv参数是一个来自命令行的参数列表,

# Python脚本可以在shell中运行。这是我们用来控制我们应用启动的一种方法。

app = QtWidgets.QApplication(sys.argv)

#创建一个widget组件基础类

windows = QtWidgets.QWidget()

#设置widget组件的大小(w,h)

windows.resize(500,500)

#设置widget组件的位置(x,y)

windows.move(100,100)

"""

#设置widget组件的位置居中

qr = windows.frameGeometry()

cp = QtWidgets.QDesktopWidget().availableGeometry().center()

qr.moveCenter(cp)

windows.move(qr.topLeft())

"""

#等同于 w.resize(500,500)和w.move(100,100)两句结合,(x,y,w,h)

#windows.setGeometry(100,100,500,500)

#给widget组件设置标题

windows.setWindowTitle('标题')

#给widget组件设置图标

windows.setWindowIcon(QtGui.QIcon('2.png'))

#设置输入框

textbox = Qt.QLineEdit(windows)

textbox.resize(100,20)

textbox.move(50,50)

#show()方法在屏幕上显示出widget组件

windows.show()

#循环执行窗口触发事件,结束后不留垃圾的退出,不添加的话新建的widget组件就会一闪而过

sys.exit(app.exec_())

登入後複製
現像如下:

python使用PyQt5的詳細教學(程式碼範例)

三:將上述方法總結實現了一個簡單的功能,如下:

功能為:在輸入框中輸入值過後,點擊按鈕就會列印出你輸入的值,關閉視窗會有提示

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

import sys

from PyQt5 import QtWidgets,QtGui,QtCore,Qt

class GUI(QtWidgets.QWidget):

    def __init__(self):

        #初始化————init__

        super().__init__()

        self.initGUI()

    def initGUI(self):

        #设置窗口大小

        self.resize(500,500)

        #设置窗口位置(下面配置的是居于屏幕中间)

        qr = self.frameGeometry()

        cp = QtWidgets.QDesktopWidget().availableGeometry().center()

        qr.moveCenter(cp)

        self.move(qr.topLeft())

        #设置窗口标题和图标

        self.setWindowTitle('窗口标题')

        self.setWindowIcon(QtGui.QIcon('2.png'))

        #设置窗口提示

        self.setToolTip('窗口提示')

        #设置label信息

        self.label = QtWidgets.QLabel(self)

        self.label.setGeometry(QtCore.QRect(100, 10, 100, 60))

        self.label.setText('这是lable信息')

        self.label.setObjectName('label')

        # 设置label提示

        self.label.setToolTip('label提示')

        #设置输入框

        self.textbox = Qt.QLineEdit(self)

        self.textbox.resize(100, 20)

        self.textbox.move(100, 50)

        # 设置输入框提示

        self.textbox.setToolTip('输入框提示')

        #设置按钮

        self.btn =QtWidgets.QPushButton('按钮',self)

        self.btn.resize(100,20)

        self.btn.move(200,50)

        # 设置按钮样式

        self.btn.setStyleSheet("background-color: rgb(164, 185, 255);"

                          "border-color: rgb(170, 150, 163);"

                          "font: 75 12pt \"Arial Narrow\";"

                          "color: rgb(126, 255, 46);")

        # 设置按钮提示

        self.btn.setToolTip('按钮提示')

        #点击鼠标触发事件

        self.btn.clicked.connect(self.clickbtn)

        #展示窗口

        self.show();

    #点击鼠标触发函数

    def clickbtn(self):

        #打印出输入框的信息

        textboxValue = self.textbox.text()

        QtWidgets.QMessageBox.question(self, "信息"'你输入的输入框内容为:' + textboxValue,QtWidgets.QMessageBox.Ok, QtWidgets.QMessageBox.Ok)

        #清空输入框信息

        self.textbox.setText('')

    #关闭窗口事件重写

    def closeEvent(self, QCloseEvent):

        reply = QtWidgets.QMessageBox.question(self, '警告',"确定关闭当前窗口?", QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No, QtWidgets.QMessageBox.No)

        if reply == QtWidgets.QMessageBox.Yes:

            QCloseEvent.accept()

        else:

            QCloseEvent.ignore()

if __name__ == '__main__':

    app = QtWidgets.QApplication(sys.argv)

    gui = GUI()

    sys.exit(app.exec_())

登入後複製
現象為:


python使用PyQt5的詳細教學(程式碼範例)

以上是python使用PyQt5的詳細教學(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
python - ubuntu16.04 lxml的報錯
來自於 1970-01-01 08:00:00
0
0
0
有辦法在PHP裡寫Python嗎?
來自於 1970-01-01 08:00:00
0
0
0
python scrapy爬蟲錯誤
來自於 1970-01-01 08:00:00
0
0
0
python相關問題求解決,有償
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板