开发者社区> 狼人2007> 正文

PySide教程:一个简单的点击按钮示例

简介:   在这篇文章里,我们将为你展示如何使用PySide使用信号、槽机制。基本来说,这是Qt提供给你的允许一个图形控件与其他图形控件或者python代码进行通讯的特性。   我们将要创建一个应用,你点击应用中的按钮后将在Python终端里显示"Hello World"字样。
+关注继续查看

  在这篇文章里,我们将为你展示如何使用PySide使用信号、槽机制。基本来说,这是Qt提供给你的允许一个图形控件与其他图形控件或者python代码进行通讯的特性。

  我们将要创建一个应用,你点击应用中的按钮后将在Python终端里显示"Hello World"字样。

  下面让我们引入必要的Qt类以及python sys类。


import sys
from PySide.QtCore import *
from PySide.QtGui import *

  同时,创建一个python函数,只是用来向终端写入"Hello World"


# Greetings
def sayHello():
print "Hello World!"

  现在,就像在PySide教程:第一个PySide应用 里提到的,你必须在运行PySide代码前先创建QApplication。输入以下代码


# Create the Qt Application
app = QApplication(sys.argv)

  让我们创建可以点击的按钮,QPushButton。我们传给构造函数一个python字符串,显示在按钮之上。


# Create a button
button = QPushButton("Click me")

  在显示按钮之前,我们必须把按钮和之前定义的函数sayHello()连起来。目前来说,有两种方法可以达到这个效果 -- 一种旧方式,一种新方式。新方式更符合python的风格(pythonic)。我们在这里使用新方式。你现在可以在 PySide中的信号和槽 找到更多信息。

  QPushButton已经预定义了一个名为clicked的信号,每次按钮按下后都会发射这个信号。我们现在将它和函数sayHello()连接起来。


# Connect the button to the function
button.clicked.connect(sayHello)

最终,我们显示这个按钮,并进入Qt主循环。


# Show the button
button.show()
# Run the main Qt loop
app.exec_()

  每次你点击按钮,你都能在终端里看到"Hello World"字样。

完整代码:

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

import sys
from PySide.QtCore import *
from PySide.QtGui import *

def sayHello():
print "Hello World!"

# Create the Qt Application
app = QApplication(sys.argv)
# Create a button, connect it and show it
button = QPushButton("Click me")
button.clicked.connect(sayHello)
button.show()
# Run the main Qt loop
app.exec_()

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
IntelliJ IDEA 12 创建Web项目 教程 超详细版
原文:IntelliJ IDEA 12 创建Web项目 教程 超详细版 IntelliJ IDEA 12 新版本发布 第一时间去官网看了下  黑色的主题 很给力 大体使用了下  对于一开始就是用eclipse的童鞋们 估计很难从eclipse中走出来 当然 我也很艰难的走在路上 ... 首先要说一点,在IntelliJ IDEA里面“new Project” 就相当于我们eclipse的“workspace”,而“new Module”才是创建一个工程。
1073 0
Mybatis-Generator(MBG)教程与Idea的MBG插件
简介 Mybatis Generator(MBG),下面我们统称为MBG,是一个Mybatis和iBatis的代码生成器。他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。
2297 0
IDEA 插件开发入门教程
IntelliJ IDEA 是目前最好用的 JAVA 开发 IDE,它本身的功能已经非常强大了,但是每个人的需求不一样,有些需求 IDEA 本身无法满足,于是我们就需要自己开发插件来解决。工欲善其事,必先利其器,想要提高开发效率,我们可以借助 IDEA 提供的插件功能来满足我们的需求。
7000 0
短视频APP制作开发,滑动显示按钮,点击按钮置顶
短视频APP制作开发,滑动显示按钮,点击按钮置顶
752 0
PySide教程:第一个PySide应用
  PySide安装:请参考 http://www.meegoq.com/thread-1161-1-1.html   使用你已经安装了PySide,那么现在你应该已经拥有完整的PySide拷贝,并且可以使用Qt+Python的方式开发GUI应用程序。
1211 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
19699 0
ASP.NET Core Identity 框架 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core Identity 框架 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Identity 框架 前面我们使用了 N 多个章节,终于是把 ASP.NET Core MVC 经常使用的功能大略的过了一遍。
2044 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
17989 0
Android NFC 开发教程(2): ApiDemos->NFC->ForegoundDispatch
本例参考ApiDemos中NFC的ForegoundDispatch来介绍编写Android NFC 的基本步骤,因为手边只有MifareClassic 类型的Tag ,需要对ForegoundDispatch的代码做些修改来检测MifareClassic 的类型的NFC Tag,读写其他类型的NFC Tag的基本步骤是一致的。
641 0
+关注
狼人2007
个人对技术的追求:代码少而精捍;思路清晰美观;可扩展好维护;技术驱动商业; 人生格言:只要你有信念,有追求,并且坚持,那你一定比随波逐流,行得远行得正...
3526
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载