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

  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. iframe 页面嵌套

    由于目前项目基础界面,业务逻辑一样,只是细微有所差别.因而使用iframe来进行定制化处理. 如何来区分不同需求不同页面呢? 最初是想通过url携带参数来进行区分,但是随着需求变多,定制化也越来越细微 ...

  2. leetcode 980. Unique Paths III

    On a 2-dimensional grid, there are 4 types of squares: 1 represents the starting square.  There is e ...

  3. JVM常用虚拟机命令汇总

    title: JVM常用虚拟机命令汇总 comments: false date: 2019-07-22 11:45:33 description: 总结一下常用的JVM虚拟机启动命令. catego ...

  4. 最简单的Android项目(添加jar文件)

    如果项目需要引用第三方jar文件,需要对编译命令做一些改动. 首先在项目根目录创建libs目录,将需要的jar文件拷贝到里面. 编译过程中有两步需要改动. 编译java源文件时,需要添加class p ...

  5. ng-model 和ng-bind的区别

    也就是说 ng-model是绑定html输入的值-->到控制器的变量,输入值变了,控制器对应的变量message的值页变了,这样,在其他地方就可以使用这个变化后的值 ng-bind 是绑定控制器 ...

  6. Spring Boot 整合 AOP

    一.示例 1.依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...

  7. 界面开发工具集Telerik UI for ASP.NET AJAX发布R2 2019

    Telerik UI for ASP.NET AJAX拥有构建ASP.NET AJAX和SharePoint应用程序的80+控件,将为任何浏览器和设备构建Web Forms应用程序的时间缩短一半.Te ...

  8. 集合综合练习<四>

    package com.JiHeTotal; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io. ...

  9. 【NOIP2016提高A组五校联考2】string

    题目 给出一个长度为n, 由小写英文字母组成的字符串S, 求在所有由小写英文字母组成且长度为n 且恰好有k 位与S 不同的字符串中,给定字符串T 按照字典序排在第几位. 由于答案可能很大,模10^9 ...

  10. 【leetcode】Monotone Increasing Digits

    Given a non-negative integer N, find the largest number that is less than or equal to N with monoton ...