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

  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. RateLimit--使用guava来做接口限流

    转:https://blog.csdn.net/jiesa/article/details/50412027 一.问题描述   某天A君突然发现自己的接口请求量突然涨到之前的10倍,没多久该接口几乎不 ...

  2. [转载]Ubuntu下apache的安装与配置

    原文地址:https://blog.csdn.net/gatieme/article/details/53025505 1 安装apache 在 Ubuntu 上安装 Apache,有两种方式 使用源 ...

  3. 083、Prometheus架构(2019-05-05 周日)

    参考https://www.cnblogs.com/CloudMan6/p/7692765.html   Prometheus 是一个非常优秀的监控工具,准确的说,应该是监控方案.Prometheus ...

  4. 解决Linux下SSH超时自动断开

    title: 解决Linux下SSH超时自动断开 comments: false date: 2019-08-19 19:22:55 description: Linux 下 SSH 超时自动断开?? ...

  5. vue报错 Missing required prop: "value"-----(v-model 与 :model的区别)

    找不到value值 原因:这个错是因为自己绑定值得问题,将v-model 写成了:model . v-model: 是vue内置的双向数据绑定,父子组件的双向绑定,通常用于input数据的双向绑定,用 ...

  6. DEV第三方控件的GalleryControl控件

    1.获取选中的图片 List<GalleryItem> lstArray = gclImage.Gallery.GetCheckedItems(); 2.滚动到GalleryControl ...

  7. C#.net中的rank方法

    string[,] abcd = new string[2, 4];abcd[0, 0] = "a";abcd[0, 1] = "b";abcd[0, 2] = ...

  8. keras,在 fit 和 evaluate 中 都有 verbose 这个参数

    1.fit 中的 verbose verbose:该参数的值控制日志显示的方式verbose = 0    不在标准输出流输出日志信息verbose = 1    输出进度条记录verbose = 2 ...

  9. Spring Data JPA基本了解

    前言 自 JPA 伴随 Java EE 5 发布以来,受到了各大厂商及开源社区的追捧,各种商用的和开源的 JPA 框架如雨后春笋般出现,为开发者提供了丰富的选择.它一改之前 EJB 2.x 中实体 B ...

  10. Struts 2 配置Action详解_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 实现了Action处理类之后,就可以在struts.xml中配置该Action,从而让Struts 2框架知道哪个Act ...