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

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

  效果图如下

  

Python 使用Qt进行开发(二)的更多相关文章

  1. Qt计算器开发(二):信号槽实现数学表达式合法性检查

    表达式的合法性 由于我们的计算器不是单步计算的,所以我们能够一次性输入一个长表达式.然而假设用户输入的长表达式不合法的话,那么就会引发灾难.所以有必要对于用户的输入做一个限制. 一些限制举例: 比方, ...

  2. Python 使用Qt进行开发(三)

    下面我们实现日期时间框的添加,表示日期时间的文本框可以使用QtWidgets控件下的 QDateEdit() , QTimeEdit() , QDateTime() 三个方法实现. 1,使用QDate ...

  3. Qt计算器开发(三):执行效果及项目总结

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/guodongxiaren/article/details/26046543 执行效果 project ...

  4. Python服务器开发二:Python网络基础

    Python服务器开发二:Python网络基础   网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. HTTP是高层协议,而TCP/IP是个协议集,包过许多的子协议.包括: ...

  5. Python 简单入门指北(二)

    Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...

  6. 初识TPOT:一个基于Python的自动化机器学习开发工具

    1. TPOT介绍 一般来讲,创建一个机器学习模型需要经历以下几步: 数据预处理 特征工程 模型选择 超参数调整 模型保存 本文介绍一个基于遗传算法的快速模型选择及调参的方法,TPOT:一种基于Pyt ...

  7. Qt官方开发环境生成的exe发布方式

    本来想自己写一个打包程序的文章了,但是我发现了宝贝,在这里,大神写的比我牛逼的多了,这里做一下搬运工 一是为了方便大家 二是为了以后方便自己找 原文链接:http://tieba.baidu.com/ ...

  8. 使用eclipse搭建第一个python+Django的web开发实例

    python+Django的web开发实例   一.创建一个项目如果这是你第一次使用Django,那么你必须进行一些初始设置.也就是通过自动生成代码来建立一个Django项目--一个Django项目的 ...

  9. 基于Flask框架的Python web程序的开发实战 <一> 环境搭建

    最近在看<Flask Web开发基于Python的Web应用开发实战>Miguel Grinberg著.安道译 这本书,一步步跟着学习Flask框架的应用,这里做一下笔记 电脑只安装一个P ...

随机推荐

  1. SpringBoot集合Linux的FastDFS与Nginx上传图片测试错误com.github.tobato.fastdfs.exception.FdfsConnectException: 无法获取服务端连接资源:can't create connection to/192.168.1.104:22122

    报错 com.github.tobato.fastdfs.exception.FdfsConnectException: 无法获取服务端连接资源:can't create connection to/ ...

  2. JavaScript中实现li向上轮播

    在网上找了很久,没有找到合适的模板,其实我这个也是公司用的,希望以后也能复用,节省时间 function scrollAuto(scrollBox, list){//两个参数分别填列表的ul的clas ...

  3. 自己对GIS的思考

    这只是我自己的理解,谈不上对整个行业的理解,只能从自己的角度谈谈GIS,谈谈爱和恨. 现在在武汉的一所所谓的全国GIS数一数二的学校里面读硕士,从高中开始我就很喜欢地理学科,大学选择了地球信息科技这个 ...

  4. asp.net webApi webconfig配置常见问题

    问题描述 一个项目引用不同版本的同一dll,会引发以下报错: 未能加载文件或程序集“xxx, Version=x.x.x.x, Culture=neutral, PublicKeyToken=xxxx ...

  5. 【译文】Git merge 和 Git rebase比较

    [译文]Git merge 和 Git rebase比较 原创: 胡江华 胡同学和朋友们的成长日记 2017-03-22 git rebase 这个命令经常被人认为是一种Git巫术,初学者应该避而远之 ...

  6. 甘特图 dhtmlx 插件

    https://dhtmlx.com/docs/products/demoApps/advanced-gantt-chart/

  7. mysql<六>

    -- ########## 01.综合练习 ########## -- 使用的表结构来自前面创建的"教师授课.学生选课并有课程成绩"这个数据库设计 -- studentinfo.t ...

  8. pyqt5-QTDesigner--控件操作

    Edit菜单       编辑小伙伴.用鼠标直接拖       编辑控件---样式等等. 点击需要编辑的控件--->   信号与槽 先用鼠标从控件往外拖---> --->选中相应的信 ...

  9. redis开发使用规范

    redis开发使用规范 1.冷热数据分离,不要将所有数据全部都放在Redis中 根据业务只将高频热数据存储到Redis中[QPS大于5000],对于低频冷数据可以使用mysql等基于磁盘的存储方式. ...

  10. 【shell】sed处理多行合并

    有这么一个题 文件格式 table=t1 name owner address table=t2 id text col1 comment col5 table=t3 prod_name price ...