PySide中QtGui.QFrame的用法
最近一位同事的出现让我重新正视PySide中designer这个工具的强大之处,通过QtGui.QObject.setGeometry(QtCore.QRect())这个最简单直接的方法可以完成很多复杂的界面绘制,从而摆脱QtGui.QGridLayout(),QVBoxLayout(),QHBoxLayout()三个Layout()对象的束缚。
这次matchmove组需要一个工具能够将maya工程中所选模型输出为abc文件,以该abc文件为基础自动生成一个nuke工程,继而将该nuke工程提交本地渲染或者deadline农场进行渲染。所有功能集成在一个工具中,就需要考虑到界面的整洁有序了,我决定使用QtGui.QFrame对象来划分UI区域,最终效果如图:

黑色方框将界面划分为三个区域,看着不至于凌乱。
附上一段Logo部分的代码如下:
logoLabel = QtGui.QLabel("<font size='12' color='gray'><B>RENDER WIREFRAME TOOL</B></font>")
logolayout = QtGui.QVBoxLayout()
logolayout.addWidget(logoLabel)
self.frame1 = QtGui.QFrame(self)
self.frame1.setLayout(logolayout)
self.frame1.setGeometry(QtCore.QRect(5, 5, 390, 100))
self.frame1.setFrameShape(QtGui.QFrame.StyledPanel)
self.frame1.setFrameShadow(QtGui.QFrame.Raised)
QtGui.QFrame继承自widgets类,意味着除了
def drawFrame (arg__1) def frameRect () def frameShadow () def frameShape () def frameStyle () def frameWidth () def lineWidth () def midLineWidth () def setFrameRect (arg__1) def setFrameShadow (arg__1) def setFrameShape (arg__1) def setFrameStyle (arg__1) def setLineWidth (arg__1) def setMidLineWidth (arg__1)
这一系列自有方法外,QtGui.QFrame也可以使用widgets类的方法。在代码中,我创建了一个logolayout,将控件添加到logolayout中,再通过setLayout这个属于widgets的方法将logolayout传递给QFrame对象,通过这种方式就可以很轻松的在QFrame对象中添加控件。
PySide中QtGui.QFrame的用法的更多相关文章
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- ecshop中foreach的详细用法归纳
ec模版中foreach的常见用法. foreach 语法: 假如后台:$smarty->assign('test',$test); {foreach from=$test item=list ...
- matlab中patch函数的用法
http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...
- C#中timer类的用法
C#中timer类的用法 关于C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类 ...
- C#中dynamic的正确用法
C#中dynamic的正确用法 http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2125982.html dynamic是FrameWork4 ...
- C++中typename关键字的用法
我在我的 薛途的博客 上发表了新的文章,欢迎各位批评指正. C++中typename关键字的用法
- Guava中Predicate的常见用法
Guava中Predicate的常见用法 1. Predicate基本用法 guava提供了许多利用Functions和Predicates来操作Collections的工具,一般在 Iterabl ...
- C++中const 的各种用法
C++中const 关键字的用法 const修饰变量 const 主要用于把一个对象转换成一个常量,例如: ; size = ; // error: assignment of read-only v ...
- JS里设定延时:js中SetInterval与setTimeout用法
js中SetInterval与setTimeout用法 JS里设定延时: 使用SetInterval和设定延时函数setTimeout 很类似.setTimeout 运用在延迟一段时间,再进行某项操 ...
随机推荐
- LeetCode--038--报数(java)
报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数.其前五项如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被读作 "one 1" ...
- 7.5 GRASP原则五:高内聚 High Cohesion
GRASP原则五:高内聚 High Cohesion How to keep objects focused, understandable and manageable, and as a si ...
- 机器学习 之XGBoost算法
目录 1.基本知识点简介 2.XGBoost提升树算法 2.1 XGBoost原理 2.2 XGBoost中损失函数的泰勒展开 2.3 XGBoost中正则化项的选定 2.4 最终的目标损失函数及其最 ...
- Matlab:椭圆方程的导数边值问题
tic; clear clc N=; M=*N; h1=/M; h2=/N; x=:h1:; y=:h2:; fun=inline('exp(x)*sin(pi*y)','x','y'); f=inl ...
- caffe安装
安装caffe的时候一定要保持一个乐观的心态,不然容易放弃人生.由于自己是装完才写的,所以并没有截图. 平台:Window7 硬件:NVIDIV quaro M4000 软件:Visual Studi ...
- html5(五)拖放
http://www.w3school.com.cn/html5/html_5_draganddrop.asp http://www.cnblogs.com/return-false/p/332628 ...
- sass command
compass create --bare --sass-dir "sass" --css-dir "css" --javascripts-dir " ...
- python安装requests
下面是requests的安装步骤: 1.如果系统已经装了Python,把D:\python3.6.5\Scripts添加到系统的环境变量PATH后面 2.cmd下cd到这个目录下D:\Python3. ...
- vsCode---中文化
一直使用的是webStorm这个工具,不过由于这个工具不是那么的方便:比如我平时只是想新建一个html页面来编写一些js代码,以便测试自己的想法. 但是webStorm这个工具需要新建项目然后npm运 ...
- react-native 打包apk
如果你是学习Android的和我一样的话那一定会用一些软件开发,如WebStore 等等 那么这里我就来讲一下在WebStore 开发的App 如何打包成一个手机可以安装的apk软件 1.首先你的Ap ...