PySide教程:简单的对话框应用程序“.NET研究”

简介:   本文将展示如何使用基本控件创建简单的对话框。主要流程是用户在QLineEdit中键入名字,点击QPushButton后会看见问候。  下面这个小程序将创建和显示对话框,小程序会在整个过程中更新,你可以将这个程序用在你需要的项目中。

  本文将展示如何使用基本控件创建简单的对话框。主要流程是用户在QLineEdit中键入名字,点击QPushButton后会看见问候。

  下面这个小程序将创建和显示对话框,小程序会在整个过程中更新,你可以将这个程序用在你需要的项目中。

代码
 
  
# !/usr/bin/python
#
-*- coding: utf-8 -*-

import sys
from PySide.QtCore import *
from PySide.QtGui import 上海闵行企业网站制作tyle="color: #000000;"> *

class Form(QDialog):

def __init__上海企业网站设计与制作pan>(self, parent=None):
super(Form, self).
__init__(parent)
self.setWindowTitle(
"My Form")


if __name__ == '__main__':上海徐汇企业网站制作r /> # Create the Qt Application
app = QApplication(sys.argv)
# Create and show the form
form = Form()
form.show()
# Run the main Qt loop
sys.exit(app.exec_())

      假如你看过前面的教程,你大概已经熟悉上面的不少代码了吧,应该对引入包、创建应用以及执行Qt主循环很熟悉了。唯一新的地方是类定义。

       你可以创建任意PySide控件的子类。在这里,我们继承QDialog并做了自定义,将名字指定为"Form"。同时,我们实现了 init()方法,init()调用了父类QDialog的init()方法,并调用了setWindowTitle()方法,这个方法设置了对话框窗体的标题。在main()函数中,你可以看到我们创建了Form对象并将其显示出来。

  创建控件
       我们将要创建两个控件 - QLineEdit给用户输入 名字,QPushButton则用来显示QLineEdit的内容。因此,我们把下面两行代码加入 init()方法中。

 
 
# Create widgets
self.edit = QLineEdit( " Write my name here.. " )
self.button
= QPushButton( " Show Greetings " )

     可以看到,两个控件都显示了相应的文字。

  为控件创建布局
       Qt为了帮助用户在其程序中组织控件而引入了一些布局。这个例子里,我们做简单化处理,只创建一个QVBoxLayout,这个而已上海网站建设将在竖直方向分布控件。把下面的代码加入init()中创建控件后的地方。

 
 
# Create layout 上海企业网站制作and add widgets
layout = QVBoxLayout()
layout.addWidget(self.edit)
layout.addWidget(self.button)
# Set dialog layout
self.setLayout(layout)

       我们创建了而已,使用addWidget()方法添加了这些控件。最终窗体将使用我们QVBoxLayout作为其布局。

  创建显示的函数并连接至按钮

       最终,我们需要在窗体中加入显示用户的函数,并连接到我们的按钮上。函数是窗体的一部分,所以需要加在init()函数的后面。

 
 
# Greets the user
def greetings(self):
print ( " Hello %s " % self.edit.text())

       为了得到需要显示的内容,我们调用了QLineEdit.text()方法。

       现在,我们需要的都有了,只剩下把QPushButton连接到Form.greetings()方法。在init()函数里,我们添加下面的代码:

 
 
# Add button signal to greetings slot
self.button.clicked.上海闵行企业网站设计与制作connect(self.greetings)

     在程序运行后,你就可以在QLineEdit中输入你的名字并在终端里看到问候了。

  你还可以接着做

  • 用MessageBox而不是在终端里显示自己的名字。查看 QMessageBox 的帮助文档 ,试试吧。
  • 你可以尝试着给Window添加一个图标 。查看 QWidget的文档
  • 添加一个关闭按钮如何?只需要添加一个按钮,将其加入而已,再把它连接到exit槽就可以了。
  • 你也可以把布局改为水平方向,使用QHBoxLayout. 在PySide Layout 中查看更多,比如 QHBoxLayout, QGridLayout.
目录
相关文章
|
11天前
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
45 10
|
10天前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
20 7
|
10天前
|
SQL 关系型数据库 数据库
七天.NET 8操作SQLite入门到实战详细教程(选型、开发、发布、部署)
七天.NET 8操作SQLite入门到实战详细教程(选型、开发、发布、部署)
|
20天前
|
Linux iOS开发 开发者
跨平台开发不再难:.NET Core如何让你的应用在Windows、Linux、macOS上自如游走?
【8月更文挑战第28天】本文提供了一份详尽的.NET跨平台开发指南,涵盖.NET Core简介、环境配置、项目结构、代码编写、依赖管理、构建与测试、部署及容器化等多个方面,帮助开发者掌握关键技术与最佳实践,充分利用.NET Core实现高效、便捷的跨平台应用开发与部署。
52 3
|
20天前
|
开发框架 监控 安全
.NET 应用程序安全背后究竟隐藏着多少秘密?从编码到部署全揭秘!
【8月更文挑战第28天】在数字化时代,.NET 应用程序的安全至关重要。从编码阶段到部署,需全面防护以保障系统稳定与用户数据安全。开发者应遵循安全编码规范,实施输入验证、权限管理和加密敏感信息等措施,并利用安全测试发现潜在漏洞。此外,部署时还需选择安全的服务器环境,配置 HTTPS 并实时监控应用状态,确保全方位防护。
34 3
|
20天前
|
缓存 Java API
【揭秘】.NET高手不愿透露的秘密:如何让应用瞬间提速?
【8月更文挑战第28天】本文通过对比的方式,介绍了针对 .NET 应用性能瓶颈的优化方法。以一个存在响应延迟和并发处理不足的 Web API 项目为例,从性能分析入手,探讨了使用结构体减少内存分配、异步编程提高吞吐量、EF Core 惰性加载减少数据库访问以及垃圾回收机制优化等多个方面,帮助开发者全面提升 .NET 应用的性能和稳定性。通过具体示例,展示了如何在不同场景下选择最佳实践,以实现更高效的应用体验。
29 3
|
20天前
|
前端开发 JavaScript 开发工具
跨域联姻:React.NET——.NET应用与React的完美融合,解锁前后端高效协作新姿势。
【8月更文挑战第28天】探索React.NET,这是将热门前端框架React与强大的.NET后端无缝集成的创新方案。React以其组件化和虚拟DOM技术著称,能构建高性能、可维护的用户界面;.NET则擅长企业级应用开发。React.NET作为桥梁,使.NET应用轻松采用React构建前端,并优化开发流程与性能。通过直接托管React组件,.NET应用简化了部署流程,同时支持服务器端渲染(SSR),提升首屏加载速度与SEO优化。
25 1
|
20天前
|
存储 缓存 安全
.NET 在金融行业的应用:高并发交易系统的构建与优化之路
【8月更文挑战第28天】在金融行业,交易系统需具备高并发处理、低延迟及高稳定性和安全性。利用.NET构建此类系统时,可采用异步编程提升并发能力,优化数据库访问以降低延迟,使用缓存减少数据库访问频率,借助分布式事务确保数据一致性,并加强安全性措施。通过综合优化,满足金融行业的严苛要求。
25 1
|
20天前
|
大数据 开发工具 开发者
从零到英雄:.NET核心技术带你踏上编程之旅,构建首个应用,开启你的数字世界探险!
【8月更文挑战第28天】本文带领读者从零开始,使用强大的.NET平台搭建首个控制台应用。无论你是新手还是希望扩展技能的开发者,都能通过本文逐步掌握.NET的核心技术。从环境搭建到创建项目,再到编写和运行代码,详细步骤助你轻松上手。通过计算两数之和的小项目,你不仅能快速入门,还能为未来开发更复杂的应用奠定基础。希望本文为你的.NET学习之旅开启新篇章!
26 1
|
17天前
|
数据库 C# 开发者
WPF开发者必读:揭秘ADO.NET与Entity Framework数据库交互秘籍,轻松实现企业级应用!
【8月更文挑战第31天】在现代软件开发中,WPF 与数据库的交互对于构建企业级应用至关重要。本文介绍了如何利用 ADO.NET 和 Entity Framework 在 WPF 应用中访问和操作数据库。ADO.NET 是 .NET Framework 中用于访问各类数据库(如 SQL Server、MySQL 等)的类库;Entity Framework 则是一种 ORM 框架,支持面向对象的数据操作。文章通过示例展示了如何在 WPF 应用中集成这两种技术,提高开发效率。
33 0