Python 使用Qt进行开发(二)

  上次简单实现了显示窗口,下面我们在窗口中加入一些部件。

  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_())

  效果图如下

  

 

posted @ 2018-08-01 19:13  木楉。  阅读(21306)  评论(0编辑  收藏  举报