PYQT控件使用】的更多相关文章

转载来自:http://my.oschina.net/midnite/blog/39399 Qt采用信号槽来设定UI界面上元素动作的事件绑定.自Qt4.5开始,引入了一个新的信号槽与事件绑定的方法.界面上控件可以发出的默认内容都已经由Qt库定义好了,我们只需要定义处理方法即可. 从Designer设计出的控件中会使用setObjectName设定控件的名字,这个名字就可以让我们快捷的定义指定信号槽对应的处理方法.通过@PyQt4.QtCore.pyqtslot()修饰方法可以完成这一动作.定义方…
一.控件概念 控件是一个程序界面上的各个独立的元素, 它具备用户点击.接收用户输入.展示不同内容.存放其他控件等功能. 二.控件分类 常用的控件按功能可以分为以下几种类 按钮 QPushButton——一般按钮 QCommandLinkButton——和上面的按钮差不多 QRadioButton——单选框 QCheckBox——复选框 输入控件 键盘输入 QLineEdit QTextEdit QPlainTextEdit QKeySequenceEdit——快捷方式采集 步长调节(鼠标点击+键…
QtGui.QComboBox .addItem(string)#添加字符串项到Item.addItems(list)#添加列表或元组元素到Item.clear()#清除所有Item.clearEditText()#清除编辑框内容.count()#返回Item数目.currentIndex()#返回当前选择索引,从0开始.currentText()#返回当前选择内容.insertItem(index,string)#插入字符串项到Item项index后.insertItems(index,li…
Pyqt 动态的添加控件 # -*- coding: utf-8 -*- from PyQt4.QtCore import * from PyQt4.QtGui import * import sys ''' Pyqt 动态的添加控件 ''' class DynAddObject(QDialog): def __init__(self, parent=None): super(DynAddObject, self).__init__(parent) addButton = QPushButton…
PyQt 5控件包括:按钮.复选框.滑动条.列表框等 复选框QCheckBox QCheckBox复选框控件,它有两个状态:打开和关闭,他是一个带有文本标签(Label)的控件.复选框常用于表示程序中可以启用或者禁用的功能. cb = QCheckBox('show title',self) # 创建一个复选框,标题命名为show title cb.toggle() # 切换复选框状态,复选框默认没有勾选,并且没有标题 # Author:凌逆战 # -*- coding:utf-8 -*- im…
本文主要介绍PyQt界面实现中常用的消息弹出对话框.提供用户输入的输入框.打开文件获取文件/目录路径的文件对话框.学习这三种控件前,先想一下它们使用的主要场景: 1.消息弹出对话框.程序遇到问题需要退出需要弹出错误提示框 .程序执行可能造成的风险需要弹出警告窗口提示用户是否进一步执行等等. 2.用户输入框.比如常见的让用户选择执行的程序分支.yes/no等等. 3.文件对话框.获取本地文件或者文件夹的完整路径甚至是直接打开文件显示文件内容. 本文主要针对这三种控件的主要场景进行介绍. QMess…
在<PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性>中介绍layout的layoutSizeConstraint属性后,反复测试发现如下的应用窗口: 再怎么设置布局控件的layoutSizeConstraint的值,所有部件都可以跟随无限放大,而最小可以缩小到如下: 感觉这个参数不起作用,后经反复测试,发现这个参数只对窗口的布局起作用.在通过窗口中点击鼠标右键->Lay out选择布局方式来设置布局: 设置后在窗口的属性设置部分…
一.单选按钮被选中 1.选择 Radio Button 2.加入如下代码: #单选按钮状态切换时触发onstateChanged函数 self.radioButton.toggled.connect(self.onstateChanged) def onstateChanged(self): #检查单选按钮是否被选中 text=self.radioButton.isChecked() if text==False: print("false") if text==True: print…
本文主要介绍PyQt5界面最基本使用的单选按钮.复选框.下拉框三种控件的使用方法进行介绍. 1.RadioButton单选按钮/CheckBox复选框.需要知道如何判断单选按钮是否被选中. 2.ComboBox下拉框.需要知道如何对下拉框中的取值进行设置以及代码实现中如何获取用户选中的值. 带着这些问题下面开始介绍这RadioButton单选按钮.CheckBox复选框.ComboBox下拉框三种基本控件的使用方法 QRadioButton单选按钮 单选按钮为用户提供多选一的选择,是一种开关按钮…
如果你想让你开发的PyQt5工具展示的数据显得整齐.美观.好看,显得符合你的气质,可以考虑使用QTableWidget控件.之前一直使用的是textBrowser文本框控件,数据展示还是不太美观.其中QTableWidget是PyQt5程序中常用的显示数据表格的控件,显示的基本效果如下,有点素.. 下面开始介绍QTableWidget常用的方法以及如何使用.既然是数据表格形式,经常使用的场景其实跟excel我觉得差不多.开始学习使用QTableWidget之前,我们带着如下几个问题再开始本文的阅…
QtGui.QComboBox控件常用函数: .addItem(string) #添加字符串项到Item .addItems(list) #添加列表或元组元素到Item .clear() #清除所有Item .clearEditText() #清除编辑框内容 .count() #返回Item数目 .currentIndex() #返回当前选择索引,从0开始 .currentText() #返回当前选择内容 .insertItem(index,string) #插入字符串项到Item项index后…
在界面程序开发中,数据的展示主要包括表格.简单列表.树状列表以及纯文本等多种方式,在Qt中将界面表格.简单列表.树状列表称为"表项视图类(item view class)",并提供了两种实现方式,一种叫item based,这些类名以widget结尾,如QListWidget等.另一种叫model based,这些类以view结尾,如QListView等,对应QtDesigner控件的Item Views(Model-Based)和Item Widgets(Item-Based)这两类…
Qt 中view类控件的目的是实现数据和模型分离,控件展示数据,数据保存在数据存储中,数据存储中的数据改变了,则控件中展示的数据跟随改变.当设计时只指定了一个控件和一个数据存储关联时,这种分离虽然也能体现,但感觉没有那么明显,但如果使用两个View控件和同一个数据存储关联时,这种分离就能更好地理解. 下面是一个案例: 案例界面如图: 该案例在左边窗口下面的按钮操作增加和删除时,右边窗口同时改变. 实现的关键代码有如下: 1.初始化时两个窗口绑定同一个数据存储,如下: def __init__(s…
ListView控件可以通过控件对应数据存储删除列表项,具体使用: 数据存储.removeRow(元素索引位置) 删除指定位置的一个列表项. 数据存储如果不知道程序定义的数据存储名,可以通过model()函数获取对应ListView控件的数据存储. 案例:删除当前选择列表项的两种方式(m_ListView为listView控件名) 案例1:已知数据存储名为当前对象的itemmodel变量的实现代码 def DelListItem(self): selected = self.m_ListView…
通过currentIndex()可以获取listView控件的当前选择元素,如果选择了多个,则可以通过selectedIndexes()来获取选择的元素,不过这两个函数返回的是元素数据,而不是索引编号,如果要取到索引顺序号,需要通过row()函数. 案例(m_ListView为listView控件名,displaySelected为一个TextBrowser控件名,itemmodel为列表项的数据存储名): def DisplayItem(self): selected = self.m_Lis…
ListView控件如果需要增加列表项,就是在对应数据存储中插入项,这又分两种情况,一种是已知列表数据存储,一种是未知数据存储.如果是未知数据存储,可以通过: ListView控件名.model() 语句获取数据存储.在知道数据存储后,就可以对数据存储进行进行插入操作,简单语句如下: 数据存储.insertRow(插入位置索引) index =数据存储.index(插入位置索引,0) 数据存储.setData(index,插入项字符串,Qt.DisplayRole) 以上三个语句,第一个语句是在…
在QtDesigner中设计的界面中添加ListView控件后,是没办法添加需要在ListView控件中显示的列表项.由于ListView控件只是一个展示列表项的视图控件,实现了界面与数据的分离,其要展示的数据是单独存储在对应类型如QStringListModel的列表中,因此对控件数据的初始化需要先为控件绑定对应的数据对象.下面是一个ListView控件初始化的代码: self.itemmodel=QStringListModel(self) self.itemmodel.setStringL…
老猿在学习ListView组件时,想实现一个在ListView组件中选中一个选择项后触发消息给主窗口,通过主窗口显示当前选中的项的内容. 进入QtDesigner后,设计一个图形界面,其中窗口界面使用Widget组件,在窗口上方一个ListView组件.一个TextBrowser组件和两个PushButton组件,如图: 以上控件中,主窗口名为:win_ListView,ListView控件名为:listView,最上面的TextBrowser控件名为:displaySelected. 老猿想要…
在Qt Designer中布局控件有4个,分别是Vertical Layout(垂直布局).Horizontal Layout(水平布局).Grid Layout(网格布局).Form Layout(表单布局),这些布局控件都有layoutSizeConstraint这个属性,如图: 这个属性实际对应QLayout类的sizeConstraint属性,具体取值由枚举类型QLayout.SizeConstraint的元素取值来决定,相关取值及含义如下: sizeConstraint属性的默认值是S…
在Qt Designer中布局控件有4个,分别是Vertical Layout(垂直布局).Horizontal Layout(水平布局).Grid Layout(网格布局).Form Layout(表单布局),所有的布局控件都有layoutLeftMargin.layoutRightMargin.layoutTopMargin.layoutBottomMargin这4个属性,如图: 这4个属性是表示布局控件内的子部件与布局控件四周的空余空间(留白)大小,layoutLeftMargin.lay…
在Qt Designer中布局控件有4个,分别是Vertical Layout(垂直布局).Horizontal Layout(水平布局).Grid Layout(网格布局).Form Layout(表单布局),其中Vertical Layout(垂直布局).Horizontal Layout(水平布局)这两个布局控件都有layoutSpacing这个属性,如图: 实际上布局控件对应的类QLayout并没有layoutSpacing这个属性,该属性实际上对应的是QLayout的spacing属性…
在Qt Designer中布局控件有4个,分别是Vertical Layout(垂直布局).Horizontal Layout(水平布局).Grid Layout(网格布局).Form Layout(表单布局),其中Vertical Layout(垂直布局).Horizontal Layout(水平布局)这两个布局控件都有layoutStretch这个属性,如图: 实际上布局控件对应的类QLayout并没有layoutStretch这个属性,该属性实际上对应的是QBoxLayout类(QBoxL…
====================== 基于Qt的第三方库和控件 ======================     libQxt --------   http://dev.libqxt.org/libqxt/wiki/Home   按照文档中所流露的意思,libQxt实现了一些“Qt本来就应该有但实际上没有”的功能. 对应Qt相应的Module,Qxt有 QxtCore.QxtGui.QxtNetwork.QxtSql等模块作为Qt功能的 补充,此外,还提供了QxtWeb(Web S…
上一章将的QObject是PyQt里所有控件的基类,并不属于可视化的控件.这一章所讲的QWidget,是所有可视化控件的基类. QWidget包含下面几点特性 a.控件是用户界面的最小的元素 b.每个控件都是矩形的,他们按照Z轴顺序排序(垂直于桌面),前面的会覆盖后面的 c.控件由其父控件和前面的控件裁剪 d.没有父控件的控件就是窗口 功能与作用 1.控件的创建 我们在上一章在创建了控件以后用Obj.setParent()的指定了控件的父子关系,在这里就有更简单的方法了! from PyQt5.…
PyQt4是用来编写有图形界面程序(GUI applications)的一个工具包.PyQt4作为一个Python模块来使用,它有440个类和超过6000种函数和方法.同时它也是一个可以在几乎所有主流操作系统(如Unix,windows,Mac OS)上运行的跨平台的工具包. PyQt4的类库可分为以下模块: QtCore QtGui QtNetwork QtXml QtSvg QtOpenGL QtSql 其中QtCore包含了PyQt非GUI功能模块的核心部分,这个模块用来对时间.文件和目录…
软硬件环境 Windows 10 Python 3.4.2 PyQt 5.5.1 PyCharm 5.0.4 前言 控件是PyQt应用程序的基石.PyQt5自带很多不同的控件,包括像button.check box.slider等等.在本节中我们将学习几个非常有用的控件:QCheckBox.ToggleButton.QSlider.QProgressBar和QCalendarWidget. QCheckBox 一个QCheckBox会有2种状态:选中和为选中.它有一个选择框和一个label组成,…
作者:韦易笑链接:https://www.zhihu.com/question/29636221/answer/45102191来源:知乎著作权归作者所有,转载请联系作者获得授权. 更新:擦,本来只有一句话,推荐Qt,远离微软,有人追问,补充了点,有人又追问,又补充了点,然后出了趟门回来,感觉跟捅了马蜂窝一样.既然都说到微软了,那就接着展开一下. 问题的本源 微软就是战线太长了,忙着去主导各种标准,制订各种框架,这样的话,才能更好的夹带私货,用一个你必须用的东西推进另外一个他想让你用的东西,诸如…
一.前言 自从研究Qt编写自定义控件以来,一发不可收拾,越多越多人有类似的需求找我定制控件,陆陆续续写了上百个控件,目前已超过150个,于是逐渐衍生了另外一个需求,提供一个控件属性设计器,类似QtDesigner一样,可以方便的拖曳控件,改变属性,立即应用,并导出到文件方便下次直接加载,这个设计器有点像组态中的一个雏形,提供了基本的加载控件,导入导出数据,数据源绑定等. 本系列文章将从加载控件.拖曳控件.拉伸控件.加载属性.中文属性.数据源采集.导入导出xml几个方面介绍功能点编码思路并贴出核心…
一.前言 上一篇文章负责把设计好的控件数据导出到了xml文件,本偏文章负责把导出的xml数据文件导入,然后在画布上自动生成对应的控件,Qt内置的xml数据解析功能,非常强大,都封装在QtXml组件中,Qt有个好处就是,封装了众多的各大操作系统平台的功能,尤其是GUI控件,不愧是超大型一站式GUI超市,虽然网络组件不是很强大,但是应付一些基础应用还是绰绰有余的.在导出xml数据的时候,属性列表和值都按照xml的属性存储的而不是子节点,所以在解析的时候需要遍历节点的属性名称和属性值,QDomName…
一.前言 能够导出控件布局和属性设置数据到xml文件或者其他文件,也是一个非常实用的功能,类似于QtDesigner中把页面设计好以后生成的.ui结尾的文件,其实就是xml文件,按照约定的规则存储好控件名称和属性名称及对应的属性值,然后打开的时候按照这个规则取出来就行了.每个控件还有固定的几个数据需要存储,比如XY轴和对应的宽度高度,然后在xml数据文件的最开始还可以存储整个画布的宽度高度以便其他用途.导出到xml格式,是为了方便解析,毕竟xml数据格式的解析,各种语言平台都有,而且都是非常成熟…