上次簡單實現了顯示窗口,下面我們在窗口中加入一些部件。
1,我們在窗口中使用 setToolTip() 方法添加一個文本提示,在窗口中鼠標暫停幾秒即可顯示該文本信息。
class test(): def setUI(self,w): #設置工具窗口的大小 w.setGeometry(400,400,400,200) #設置工具窗口的標題 w.setWindowTitle("Test") #設置窗口的圖標 self.setWindowIcon(QtGui.QIcon('icon.png'))
#設置提示框中文本的字體樣式,大小
QtWidgets.QToolTip.setFont(QtGui.QFont('SansSerif',20))
#在窗口中添加一個提示框 w.setToolTip('這是Window關機工具') w.show() if __name__=='__main__': #創建應用程序和對象 app = QtWidgets.QApplication(sys.argv) w = QtWidgets.QWidget() ui = test() ui.setUI(w) sys.exit(app.exec_())
顯示效果如下
2,接下來我們再往里添加一個文本標簽,本文標簽的添加使用代碼
#添加文本標簽 self.label = QtWidgets.QLabel(w) #設置標簽的左邊距,上邊距,寬,高 self.label.setGeometry(QtCore.QRect(60, 20, 120, 45)) #設置文本標簽的字體和大小,粗細等 self.label.setFont(QtGui.QFont("Roman times",20,QtGui.QFont.Bold))
#向標簽中添加文本內容
self.label.setText("Name:")
3,接着我們添加文本輸入框,並添加提交按鈕獲取用戶輸入的內容,最后將內容顯示在窗口下方。完整代碼如下
import os,sys from PyQt5 import QtCore,QtWidgets,QtGui class test(): def setUI(self,w): #設置工具窗口的大小 w.setGeometry(400,400,400,200) #設置工具窗口的標題 w.setWindowTitle("Test") #設置窗口的圖標 w.setWindowIcon(QtGui.QIcon('icon.png')) QtWidgets.QToolTip.setFont(QtGui.QFont('SansSerif',10)) w.setToolTip('這是Window小工具') self.label = QtWidgets.QLabel(w) self.label.setGeometry(QtCore.QRect(60, 20, 120, 45)) self.label.setFont(QtGui.QFont("Roman times",20)) self.label.setText("Name:") #添加設置一個文本框 self.text = QtWidgets.QLineEdit(w) #調整文本框的位置大小 self.text.setGeometry(QtCore.QRect(150,30,160,30)) #添加提交按鈕和單擊事件 self.btn = QtWidgets.QPushButton(w) #設置按鈕的位置大小 #self.btn.setGeometry(QtCore.QRect(150,100,70,30)) #設置按鈕的位置,x坐標,y坐標 self.btn.move(150,100) self.btn.setText("提交") #為按鈕添加單擊事件 self.btn.clicked.connect(self.getText) self.label2 = QtWidgets.QLabel(w) self.label2.setGeometry(QtCore.QRect(60, 120, 300, 100)) self.label2.setFont(QtGui.QFont("Roman times",16,QtGui.QFont.Bold)) self.label2.setText("請輸入名字") w.show() def getText(self): name = self.text.text() if name: try: self.label2.setText("你輸入的名字是%s" % name) self.text.clear() except: self.label2.setText("請輸入名字") if __name__=='__main__': #創建應用程序和對象 app = QtWidgets.QApplication(sys.argv) w = QtWidgets.QWidget() ui = test() ui.setUI(w) sys.exit(app.exec_())
效果圖如下