日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python图形化界面按钮_Python-PyQt5-图形可视化界面(3)--按钮--Qpushbutton

發布時間:2024/1/23 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python图形化界面按钮_Python-PyQt5-图形可视化界面(3)--按钮--Qpushbutton 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ps:水平有限,歡迎建議和挑錯

PyQt5中按鈕是一個QpushButton,可以提供一個點擊的按鈕來觸發摸一個事件。

按鈕可以顯示圖片或者文字。

創建按鈕

我們在第一節的mainwindow上創建一個按鈕,代碼如下:

from PyQt5 import QtCore, QtGui, QtWidgets

from PyQt5.QtGui import QIcon

class Ui_mainWindow(object):

def setupUi(self, mainWindow):

mainWindow.setObjectName("mainWindow")

mainWindow.setWindowModality(QtCore.Qt.WindowModal)

mainWindow.resize(624, 511)

self.centralWidget = QtWidgets.QWidget(mainWindow)

self.centralWidget.setObjectName("centralWidget")

self.pushButton = QtWidgets.QPushButton(self.centralWidget)

self.pushButton.setGeometry(QtCore.QRect(240, 240, 75, 23))

self.pushButton.setObjectName("pushButton")

mainWindow.setCentralWidget(self.centralWidget)

self.retranslateUi(mainWindow)

QtCore.QMetaObject.connectSlotsByName(mainWindow)

def retranslateUi(self, mainWindow):

_translate = QtCore.QCoreApplication.translate

mainWindow.setWindowTitle('您好')

mainWindow.setWindowIcon(QIcon('logo.png'))

if __name__ == "__main__":

import sys

app = QtWidgets.QApplication(sys.argv)

mainWindow = QtWidgets.QMainWindow()

ui = Ui_mainWindow()

ui.setupUi(mainWindow)

mainWindow.show()

sys.exit(app.exec_())

image

這里只是單單創建一個按鈕,按鈕點擊并沒有任何作用。

同樣按鈕也可以進行各種設置。

image

除了上圖幾種方法,再介紹另外幾種方法。

(1)設置字體大小,加粗,字型

font = QtGui.QFont()

font.setFamily('微軟雅黑')

font.setBold(True)

font.setPointSize(13)

font.setWeight(75)

self.pushButton.setFont(font)

這個方法是通用的。幾乎PyQt其他組件也能用。

image

(2)設置圖片

icon = QtGui.QIcon()

icon.addPixmap(QtGui.QPixmap("logo.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)

self.pushButton.setIcon(icon)

self.pushButton.setIconSize(QtCore.QSize(50, 80))

self.pushButton.setAutoRepeatDelay(200)

image

無圖代碼

from PyQt5 import QtCore, QtGui, QtWidgets

from PyQt5.QtGui import QIcon

class Ui_mainWindow(object):

def setupUi(self, mainWindow):

mainWindow.setObjectName("mainWindow")

mainWindow.setWindowModality(QtCore.Qt.WindowModal)

mainWindow.resize(624, 511)

self.centralWidget = QtWidgets.QWidget(mainWindow)

self.centralWidget.setObjectName("centralWidget")

self.pushButton = QtWidgets.QPushButton(self.centralWidget)

self.pushButton.setGeometry(QtCore.QRect(240, 240,200, 53))

self.pushButton.setObjectName("pushButton")

self.pushButton.setText("一顆數據小白菜")

# self.pushButton.setFlat(True)

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

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

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

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

mainWindow.setCentralWidget(self.centralWidget)

self.retranslateUi(mainWindow)

QtCore.QMetaObject.connectSlotsByName(mainWindow)

def retranslateUi(self, mainWindow):

_translate = QtCore.QCoreApplication.translate

mainWindow.setWindowTitle('您好')

mainWindow.setWindowIcon(QIcon('logo.png'))

if __name__ == "__main__":

import sys

app = QtWidgets.QApplication(sys.argv)

mainWindow = QtWidgets.QMainWindow()

ui = Ui_mainWindow()

ui.setupUi(mainWindow)

mainWindow.show()

sys.exit(app.exec_())

image

有圖代碼

from PyQt5 import QtCore, QtGui, QtWidgets

from PyQt5.QtGui import QIcon

class Ui_mainWindow(object):

def setupUi(self, mainWindow):

mainWindow.setObjectName("mainWindow")

mainWindow.setWindowModality(QtCore.Qt.WindowModal)

mainWindow.resize(624, 511)

self.centralWidget = QtWidgets.QWidget(mainWindow)

self.centralWidget.setObjectName("centralWidget")

self.pushButton = QtWidgets.QPushButton(self.centralWidget)

self.pushButton.setGeometry(QtCore.QRect(240, 240,200, 53))

self.pushButton.setObjectName("pushButton")

self.pushButton.setText("一顆數據小白菜")

# self.pushButton.setFlat(True)

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

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

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

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

icon = QtGui.QIcon()

icon.addPixmap(QtGui.QPixmap("logo.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)

self.pushButton.setIcon(icon)

self.pushButton.setIconSize(QtCore.QSize(50, 80))

self.pushButton.setAutoRepeatDelay(200)

mainWindow.setCentralWidget(self.centralWidget)

self.retranslateUi(mainWindow)

QtCore.QMetaObject.connectSlotsByName(mainWindow)

def retranslateUi(self, mainWindow):

_translate = QtCore.QCoreApplication.translate

mainWindow.setWindowTitle('您好')

mainWindow.setWindowIcon(QIcon('logo.png'))

if __name__ == "__main__":

import sys

app = QtWidgets.QApplication(sys.argv)

mainWindow = QtWidgets.QMainWindow()

ui = Ui_mainWindow()

ui.setupUi(mainWindow)

mainWindow.show()

sys.exit(app.exec_())

image

綁定按鈕事件

我們給按鈕綁定觸發時間,用:

pushbutton.clicked.connect()

(1)退出事件

我們給按鈕綁定退出事件:

self.pushButton.clicked.connect(mainWindow.close)

image

最終代碼如下:

from PyQt5 import QtCore, QtGui, QtWidgets

from PyQt5.QtGui import QIcon

class Ui_mainWindow(object):

def setupUi(self, mainWindow):

mainWindow.setObjectName("mainWindow")

mainWindow.setWindowModality(QtCore.Qt.WindowModal)

mainWindow.resize(624, 511)

self.centralWidget = QtWidgets.QWidget(mainWindow)

self.centralWidget.setObjectName("centralWidget")

self.pushButton = QtWidgets.QPushButton(self.centralWidget)

self.pushButton.setGeometry(QtCore.QRect(240, 240,200, 53))

self.pushButton.setObjectName("pushButton")

self.pushButton.setText("一顆數據小白菜")

# self.pushButton.setFlat(True)

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

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

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

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

icon = QtGui.QIcon()

icon.addPixmap(QtGui.QPixmap("logo.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)

self.pushButton.setIcon(icon)

self.pushButton.setIconSize(QtCore.QSize(50, 80))

self.pushButton.setAutoRepeatDelay(200)

mainWindow.setCentralWidget(self.centralWidget)

self.retranslateUi(mainWindow)

self.pushButton.clicked.connect(mainWindow.close)

QtCore.QMetaObject.connectSlotsByName(mainWindow)

def retranslateUi(self, mainWindow):

_translate = QtCore.QCoreApplication.translate

mainWindow.setWindowTitle('您好')

mainWindow.setWindowIcon(QIcon('logo.png'))

if __name__ == "__main__":

import sys

app = QtWidgets.QApplication(sys.argv)

mainWindow = QtWidgets.QMainWindow()

ui = Ui_mainWindow()

ui.setupUi(mainWindow)

mainWindow.show()

sys.exit(app.exec_())

(2)自定義事件

我們把第一二三節的內容結合起來,在主窗口上創建一個Qlabel,Qpushbutton。

image

from PyQt5 import QtCore, QtGui, QtWidgets

from PyQt5.QtGui import QIcon

class Ui_mainWindow(object):

def setupUi(self, mainWindow):

mainWindow.setObjectName("mainWindow")

mainWindow.setWindowModality(QtCore.Qt.WindowModal)

mainWindow.resize(624, 511)

self.centralWidget = QtWidgets.QWidget(mainWindow)

self.centralWidget.setObjectName("centralWidget")

self.label = QtWidgets.QLabel(self.centralWidget)

self.label.setGeometry(QtCore.QRect(60, 60, 191, 61))

self.label.setText("一顆數據小白菜")

self.label.setObjectName("label")

self.pushButton = QtWidgets.QPushButton(self.centralWidget)

self.pushButton.setGeometry(QtCore.QRect(240, 240,200, 53))

self.pushButton.setObjectName("pushButton")

self.pushButton.setText("一顆數據小白菜")

# self.pushButton.setFlat(True)

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

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

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

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

icon = QtGui.QIcon()

icon.addPixmap(QtGui.QPixmap("logo.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)

self.pushButton.setIcon(icon)

self.pushButton.setIconSize(QtCore.QSize(50, 80))

self.pushButton.setAutoRepeatDelay(200)

mainWindow.setCentralWidget(self.centralWidget)

self.retranslateUi(mainWindow)

QtCore.QMetaObject.connectSlotsByName(mainWindow)

def retranslateUi(self, mainWindow):

_translate = QtCore.QCoreApplication.translate

mainWindow.setWindowTitle('您好')

mainWindow.setWindowIcon(QIcon('logo.png'))

if __name__ == "__main__":

import sys

app = QtWidgets.QApplication(sys.argv)

mainWindow = QtWidgets.QMainWindow()

ui = Ui_mainWindow()

ui.setupUi(mainWindow)

mainWindow.show()

sys.exit(app.exec_())

1、事件1

我們現在自定義事件,按按鈕使得Qlabel的內容發生變化:

image

事件函數:

def setText_qlabel(self):

self.label.setText('我要變成大白菜了')

事件綁定:

**self.pushButton.clicked.connect(self.setText_qlabel)**

定義事件就是 定義一個函數,再綁定給按鈕。

from PyQt5 import QtCore, QtGui, QtWidgets

from PyQt5.QtGui import QIcon

class Ui_mainWindow(object):

def setupUi(self, mainWindow):

mainWindow.setObjectName("mainWindow")

mainWindow.setWindowModality(QtCore.Qt.WindowModal)

mainWindow.resize(624, 511)

self.centralWidget = QtWidgets.QWidget(mainWindow)

self.centralWidget.setObjectName("centralWidget")

self.label = QtWidgets.QLabel(self.centralWidget)

self.label.setGeometry(QtCore.QRect(60, 60, 191, 61))

self.label.setText("一顆數據小白菜")

self.label.setObjectName("label")

self.pushButton = QtWidgets.QPushButton(self.centralWidget)

self.pushButton.setGeometry(QtCore.QRect(240, 240,200, 53))

self.pushButton.setObjectName("pushButton")

self.pushButton.setText("一顆數據小白菜")

self.pushButton.setFlat(True)

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

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

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

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

icon = QtGui.QIcon()

icon.addPixmap(QtGui.QPixmap("logo.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)

self.pushButton.setIcon(icon)

self.pushButton.setIconSize(QtCore.QSize(50, 80))

self.pushButton.setAutoRepeatDelay(200)

mainWindow.setCentralWidget(self.centralWidget)

self.retranslateUi(mainWindow)

** self.pushButton.clicked.connect(self.setText_qlabel)**

QtCore.QMetaObject.connectSlotsByName(mainWindow)

def retranslateUi(self, mainWindow):

_translate = QtCore.QCoreApplication.translate

mainWindow.setWindowTitle('您好')

mainWindow.setWindowIcon(QIcon('logo.png'))

** def setText_qlabel(self):**

** self.label.setText('我要變成大白菜了')**

if __name__ == "__main__":

import sys

app = QtWidgets.QApplication(sys.argv)

mainWindow = QtWidgets.QMainWindow()

ui = Ui_mainWindow()

ui.setupUi(mainWindow)

mainWindow.show()

sys.exit(app.exec_())

2、事件2

我們定義事件二,讓qlabel發生更多變化

from PyQt5 import QtCore, QtGui, QtWidgets

from PyQt5.QtGui import QIcon

class Ui_mainWindow(object):

def setupUi(self, mainWindow):

mainWindow.setObjectName("mainWindow")

mainWindow.setWindowModality(QtCore.Qt.WindowModal)

mainWindow.resize(624, 511)

self.centralWidget = QtWidgets.QWidget(mainWindow)

self.centralWidget.setObjectName("centralWidget")

self.label = QtWidgets.QLabel(self.centralWidget)

self.label.setGeometry(QtCore.QRect(60, 60, 191, 61))

self.label.setText("一顆數據小白菜")

self.label.setObjectName("label")

self.pushButton = QtWidgets.QPushButton(self.centralWidget)

self.pushButton.setGeometry(QtCore.QRect(240, 240,200, 53))

self.pushButton.setObjectName("pushButton")

self.pushButton.setText("一顆數據小白菜")

self.pushButton.setFlat(True)

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

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

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

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

icon = QtGui.QIcon()

icon.addPixmap(QtGui.QPixmap("logo.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)

self.pushButton.setIcon(icon)

self.pushButton.setIconSize(QtCore.QSize(50, 80))

self.pushButton.setAutoRepeatDelay(200)

mainWindow.setCentralWidget(self.centralWidget)

self.retranslateUi(mainWindow)

self.pushButton.clicked.connect(self.setText_qlabel)

QtCore.QMetaObject.connectSlotsByName(mainWindow)

def retranslateUi(self, mainWindow):

_translate = QtCore.QCoreApplication.translate

mainWindow.setWindowTitle('您好')

mainWindow.setWindowIcon(QIcon('logo.png'))

def setText_qlabel(self):

self.label.setStyleSheet('background-color: rgb(255, 251, 240)')

font= QtGui.QFont()

font.setFamily('微軟雅黑')

font.setBold(True)

font.setPointSize(13)

font.setWeight(75)

self.label.setFont(font)

self.label.setText("%s" %('#7EC7FF', "歡迎您"))

if __name__ == "__main__":

import sys

app = QtWidgets.QApplication(sys.argv)

mainWindow = QtWidgets.QMainWindow()

ui = Ui_mainWindow()

ui.setupUi(mainWindow)

mainWindow.show()

sys.exit(app.exec_())

4.gif

總結

以上是生活随笔為你收集整理的python图形化界面按钮_Python-PyQt5-图形可视化界面(3)--按钮--Qpushbutton的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。