1. 程式人生 > 程式設計 >Python氣泡提示與標籤的實現

Python氣泡提示與標籤的實現

來更新Gui教程了!!!

今天我們講氣泡提示,就是這個樣子的。

Python氣泡提示與標籤的實現

那個‘這是一個氣泡提示'就是氣泡提示,朋友們肯定有些會‘哦,原來就是這個呀。',也有些朋友會說:“這不是電腦自帶的嗎”。這個問題在我剛學程式設計的時候,也是這樣。比如我一開始先是學Scratch,然後目標是編一個植物大戰殭屍。當我去編的時候(沒學過,因為很簡單,一看就懂。),以為太陽從天上掉下來的效果是編的時候不用編,而是以為自帶的。結果還要涉及到什麼隨機數,好了,說遠了…

程式碼上!!!

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

class Example(QWidget):
  def __init__(self):
    super().__init__()
    self.settings()

  def settings(self):
    self.setGeometry(300,300,400,300)
    self.setWindowTitle('啥都行')
    self.setToolTip('氣泡提示')  #氣泡提示
    QToolTip.setFont(QFont('microsoft Yahei',10)) #字型格式
    self.show()

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

很明顯,我們用setToolTip建立了一個氣泡提示。然後這裡要注意,這裡是self.setToolTip,就是說在整個介面都可顯示氣泡,而不是在某個字上或按鈕上(後面講)然後就是字型。設定字型的兩個引數分別是字型名字與大小。

剛剛提到了標籤,那我們也來講一講,至於按鈕,就有點複雜,所以下一期講吧。

程式碼呢?滾出來!

import sys
from PyQt5.QtWidgets import QWidget,QLabel,QApplication
from PyQt5.QtGui import QPixmap
class Example(QWidget):
  def __init__(self):
    super().__init__()
    self.settings()

  def settings(self):
    self.setGeometry(300,200)
    self.setWindowTitle('啥都行')
    self.a = QLabel(self)
    self.a.setToolTip('氣泡提示')
    self.a.setText('關注一下吧!')
    self.a.move(50,50)
    print(self.a.text())
    self.show()

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

大家注意了,這裡的氣泡提示就只能在‘關注一下吧'標籤上看到了,這個標籤以外的地方都無法看到這個氣泡提示。可能有些朋友不知道怎麼看氣泡提示,就是將游標放在氣泡提示的地方,等一會兒就出現了。

這個QLabel就是標籤,也可以設定字型。只不過我沒展示出來。self.a.text()是獲取self.a的文字,如果你只是列印self.a,那麼結果就是:
<PyQt5.QtWidgets.QLabel object at 0x053A4300>
這個0x053A4300是程式每次執行分配給變數或者其它的什麼的一個ID,ID相當於每個人的身份證。

如果你要檢視self.a的型別,那麼就是這個:
<class ‘PyQt5.QtWidgets.QLabel'>

大家一定要注意,這個非常重要!!!
標籤的內容只能是字串!!!,大家應該知道我以前的部落格除了QQ之外沒加粗過字型。為什麼我這麼重視,大家看個例子:

import sys
from PyQt5.QtWidgets import QWidget,QApplication,QPushButton
class Example(QWidget):
  def __init__(self):
    super().__init__()
    self.initUI()

  def initUI(self):
    self.setGeometry(300,200)
    self.setWindowTitle('QLabel標籤')
    self.a = QLabel(self)
    self.a.setText('變數字')
    self.a.move(50,50)
    self.b = QPushButton('確定',self)
    self.b.clicked.connect(self.buttonClicked)
    self.b.move(100,100)
    self.show()

  def buttonClicked(self):
    self.a.setText('123')

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

這裡面涉及到按鈕,大家不用管,反正下一期會講。大概的目標就是按一下按鈕,標籤會變成另外的內容。

如果你用的是pycharm,那麼按一下按鈕就會這樣:

Python氣泡提示與標籤的實現

如果你執行成功的話,應該是0,但是這裡是1。但是又不報錯。

如果用的是Sublime Text3:

Python氣泡提示與標籤的實現

你就根本不知道有什麼錯。所以在這裡我和大家一再強調:
標籤的內容只能是字串!!!

接著說。這個move就是將物件移動到介面的某個位置,以畫素為單位。標籤也可以是gif或者圖片。gif的話就是用QMovie,這個大家自行搜尋,因為我懶得去搜一個gif動圖。所以我只和大家說圖片。

import sys
from PyQt5.QtWidgets import QWidget,QApplication
from PyQt5.QtGui import QPixmap
class Example(QWidget):
  def __init__(self):
    super().__init__()
    self.initUI()

  def initUI(self):
    self.setGeometry(300,200)
    self.setWindowTitle('QLabel標籤')
    self.a = QLabel(self)
    self.a.setToolTip('氣泡提示')
    self.a.move(50,50)
    print(self.a.text())
    b = QLabel(self)
    b.setPixmap(QPixmap('圖片名字'))
    b.move(100,100)
    self.show()

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

到此這篇關於Python氣泡提示與標籤的實現的文章就介紹到這了,更多相關Python氣泡標籤內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!