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


      本文将展示如何使用基本控件创建简单的对话框。主要流程是用户在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.
    声明:此博有部分内容为转载,版权归原作者所有~
  • 相关阅读:
    NPM 使用介绍
    tight
    c# 选择排序
    AssetBundle Manager and Example Scenes
    非常棒的轨迹插件Better Trails v1.4.6
    【模型】Toon Dragon
    unity实现3D物体上的事件监听处理
    Alley Bird 跳跳鸟源码
    Unity性能优化 – 脚本篇
    欧拉角与万向节死锁
  • 原文地址:https://www.cnblogs.com/waw/p/2219504.html
Copyright © 2020-2023  润新知