上次简单实现了显示窗口,下面我们在窗口中加入一些部件。
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_())
效果图如下