文档章节

学习pyqt 基础 3

Cosven
 Cosven
发布于 2014/08/17 18:34
字数 379
阅读 278
收藏 4

PyQt4 中的布局管理器

布局管理就是我们在窗口中安排不见位置的方法。布局管理有两种工作方式:绝对定位方式和布局类别方式。一般来说,绝对布局方式用的较少,就像网页,现在不都什么流行响应式布局咩

布局类别方式 (layout classes)

使用布局类别方式的布局管理器比绝对定位方式的布局管理器更加灵活实用。它是窗口部件的首先布局管理方式。最基本的布局类别是QHBoxLayout和QVBoxLayout布局管理方式。

<!-- lang: python -->
class Boxlayout(QtGui.QWidget):
    def __init__(self, parent = None):
        QtGui.QWidget.__init__(self)
        self.setWindowTitle('box layout')
        ok = QtGui.QPushButton('OK')
        cancel = QtGui.QPushButton('Cancel')
        hbox = QtGui.QHBoxLayout()
        hbox.addStretch(1)
        hbox.addWidget(ok)
        hbox.addWidget(cancel)
        vbox = QtGui.QVBoxLayout()
        vbox.addStretch(1)
        vbox.addLayout(hbox)
        self.setLayout(vbox)
        self.resize(300, 150)
  • 代码都比较容易理解,至于vbox.addStretch()这一方法,意思时加入一个伸缩间隔元素(深入须看文档)

网格布局方式

<!-- lang: python -->
class GridLayout(QtGui.QWidget):
    def __init__(self, parent = None):
        QtGui.QWidget.__init__(self)
        self.setWindowTitle('grid layout')
        names = ['Cls', 'Bck', '', 'Close', '7', '8', '9', '/',
        '4', '5', '6', '*', '1', '2', '3',
        '-', '0', '.', '=', '+']
    grid = QtGui.QGridLayout()
    j = 0
    pos = [(0, 0), (0, 1), (0, 2), (0, 3),
    (1, 0), (1, 1), (1, 2), (1, 3),
    (2, 0), (2, 1), (2, 2), (2, 3),
    (3, 0), (3, 1), (3, 2), (3, 3),
    (4, 0), (4, 1), (4, 2), (4, 3)]
    for i in names:
        button = QtGui.QPushButton(i)
        if j == 2:
            grid.addWidget(QtGui.QLabel(''), 0, 2)
        else:
            grid.addWidget(button, pos[j][0], pos[j][1])
        j = j + 1
    self.setLayout(grid)
  • 感觉代码还是比较好懂,书上也没怎么讲,我也就...

© 著作权归作者所有

Cosven

Cosven

粉丝 36
博文 46
码字总数 27482
作品 2
杭州
程序员
私信 提问
《Rapid GUI Programming with Python and Qt》读书笔记

一些唠叨 搜索pyqt资料的时候发现了这本《Rapid GUI Programming with Python and Qt》,试读了一下觉得非常适合我这种完全初次接触qt与pyqt的新手,尽管是英文读物,但是不算太难理解,读起...

Feng_Yu
2014/06/18
1K
1
pyqt sqlite3 icu fts3 fts4 enabled 。全文搜索 功能

目标:windows下让pyqt测试程序支持sqlite3 icu fts3/4的全文搜索功能。 环境: windows XP pyqt 安装文件 PyQt-Py2.7-x86-gpl-4.9.6-1.exe pyqt 源码包 PyQt-win-gpl-4.9.4.zip python 版本...

kjpioo
2013/02/09
1K
0
PyQt 5.2 发布,Qt 库的 Python 版本

PyQt 5.2 发布,此版本完全支持 Qt v5.2.0 ;包括了新的 QtBluetooth,QtPositioning,QtMacExtras,QtWinExtras 和 Qt11Extras 模板。 PyQt是Qt库的Python版本。PyQt3支持Qt1到Qt3。 PyQt4支...

oschina
2014/01/09
9K
11
pythonGUI -- pyside安装与初试

(一)说在前面 Python自带了GUI模块Tkinter,只是界面风格有些老旧。另外就是各种GUI框架了。 之前安装过WxPython,并做了简单的界面。遂最近又重新搜索了一下网上关于Python GUI框架的问题...

明天以后
2014/08/24
6.8K
0
wxPython能不能集成pyQt

wxPython能不能集成pyQt 可以实现吗,刚学习pthon,不是很懂 就像wx.Dialog里面弹出pyqt的QDialog,可以实现吗 能还是不能那位高手能给个回答吗,十分感谢 代码如下: # wxPython Dialog cl...

谢馥春
2012/07/25
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
9
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部