PyQt4 QListWidget 使用教程
listWidget = QListWidget() #实例化一个(item base)的列表
listWidget.addItem('dd') #添加一个项
listWidget.addItems([]) # 从序列中添加子项
listWidget.setDragEnabled(True) #设置拖拉
listWidget.sortItems() #排序
listWidget.selectAll()全选
listWidget.setSortingEnabled(bool) #设置自动排序
listWidget.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) #设置选择模式
选择模式有:ExtendedSelection 按住ctrl多选, SingleSelection 单选 MultiSelection 点击多选 ContiguousSelection 鼠标拖拉多选
listWidget.setCurrentRow(0) 设置当前选择行 默认为-1
listWidget.count() #得到子项总数
listWidget.item(row).text() #得到第 row 行的内容 listWidget.item(row) 返回一个item 对象
listWidget.takeItem(row) #返回row 行的 所在的item 对象 可以用在 insertItem()中
listWidget.insertItem(2,item) #在第二行插入一项 item 可谓为一个listviewitem对象 或者string
listWidget.setCurrentItem('dd') #设置'dd'为当前项
listWidget.selectedItems() 返回一个 包含item对象 的list 对象
修改item 的内容
item.setText('dsds') # 设置item的内容为dsds item为对象 可从 listWidget.item(row) takeItem(row) 得到
PyQt4 QAction()使用教程
exit=QtGui.QAction(QtGui.QIcon('pix/Moon.bmp'),'Exit',self) #创建一个action "exti"为title self 为parent
exit.setSeparator(bool)#设置设置该action为分离器 也就是分隔符? 当为true时 QIcon会无效
exit.setShortcut('Ctrl+Q') #设置快捷键
也可以 exit.setShortcut(QKeySequence.New) # QKeySequence 保护标准的快捷按钮 QKeySequence.Paste
exit.setStatusTip('Exit Application') #设置状态栏说明
exit.setToolTip("exit") #设置tip
exit.setText("sdf") #设置title
exit.setWhatsThis("string") #设置what's this
当checked状态发生改变时 发出toggled(bool) 信号
当点击 触发状态发生变化时 发出triggered(bool)信号
self.connect(exit,QtCore.SIGNAL('triggered()'),QtCore.SLOT('close()')) #设置信号 插槽
创建的action 可以使用在 menubar toolbar
fileMenu = QMenuBar().addMenu(tr("&Exit"));
fileMenu.addAction(exit);
fileToolBar = addToolBar(tr("Exit"));
fileToolBar.addAction(exit);
self.label_img.setContextMenuPolicy(Qt.ActionsContextMenu) #设置右键菜单 添加action为右键菜单
因为创建一个QAction 需要6行代码左右,如果一个窗口有几个QAction的话 会很繁琐 所以我们可以定义一个方法 这个可以简单点
def createAction(self,text,slot=None,shortcut=None,icon=None,tip=None,checkable=False,signal="triggered()"):
action=QAction(text,self)
if icon is not None:
action.setIcon(QIcon("im.png"))
if shortcut is not None:
action.setShortcut(shortcut)
if tip is not None:
acton.setToolTip(tip)
action.setStatusTip(tip)
if slot is not None:
self.connect(action,SIGNAL(signal),slot)
if checkable:
action.setCheckable(checkable)
return action
PyQt4 QSettings 使用教程
setting=QSettings()
setting.setValue("lab",QVariant(50)) #设置一个lab键的 值
setting.value("lab")
为了使QSettings()起作用 在程序运行段 也就是app=QApplication() 以后 加上以下 一行 app.setOrganizationName("ds")
PyQt4 QDockWidget 使用教程
在pyqt4 中 dock 是一个镶嵌在主窗口 而又能拉出来成立一个独立窗口的控件 ,dock 是QDockWidget 的对象
dock=QDockWidget('title',self) #实例化一个dock title 为标题 self 为parent 因为QDockWidget 不添加到布局管理器中 所以我们需要传一个parent 给他
dock.setObjectName("dock") #设置dock的对象名称
dock.setAllowedAreas(Qt.LeftDockWidgetArea |Qt.RightDockWidgetArea) #设置dock只能在左边 或者右边显示
allowedareas 有Qt.LeftDockWidgetArea Qt.RightDockWidgetArea Qt.TopDockWidgetArea Qt.BottomDockWidgetArea Qt.AllDockWidgetAreas
dock.setWidget(QLabel) #添加一个label控件
dock.setFeatures(QDockWidget.NoDockWidgetFeatures) #设置dock是否可以关闭 拉出等
参数还有 QDockWidget.DockWidgetClosable 可以关闭 DockWidgetMovable 可以移动
DockWidgetFloatable #可以独立出来 DockWidgetVerticalTitleBar 垂直显示标题 AllDockWidgetFeatures 除垂直标题以外 以上所有 NoDockWidgetFeatures
self.addDockWidget(Qt.RightDockWidget,dock) 添加dock到主窗口 第一个参数为显示位置
PyQt4 QCheckBox 使用教程
setChecked(bool) 设置是否选择
isChecked() 返回bool
发出toggled(bool)信号
PyQt4 QTableWidget 使用教程
self.table=QTableWidget() #实例化
self.table.setColumnCount(4) #设置列数
self.table.setRowCount(6) #设置行数
self.table.setWhatsThis("mantou") ###
self.table.setEditTriggers(QTableWidget.NoEditTriggers) #设置为不能编辑单元格
#set Column tab title
self.table.setHorizontalHeaderLabels(list(range(5,10)))
self.table.setVerticalHeaderLabels(["a","d"] ) #设置 行title
self.table.setAlternatingRowColors(bool) #设置交替行颜色
for i in range(0,5):
for x in range(0,7):
item=QTableWidgetItem(str(i+x)) 实例一个item对象
item.setTextAlignment(Qt.AlignLeft |Qt.AlignCenter) 设置对齐方式
item.setBackgroundColor(Qt.green) 设置背景
self.table.setItem(x,i,item) 添加Item
PyQt4 QInputDialog 使用教程
string, ok = QInputDialog.getText(self, '标题', '说明文字') # 显示一个标题为标题 说明文字为说明问题的输入对话框!string 为输入的内容 ok 为点击的按钮
if ok and not string.isEmpty(): #如果点击了确定 输入了内容
pss
PyQt4 QPushButton 使用教程
button = QPushButton('***) # 实例化一个text为***)的按钮
button.setFocusPolicy() #设置焦点样式 样式有:Qt.NoFocus: 无焦点,Qt.TabFocus:用tab切换焦点,Qt.ClickFocus:点击切换焦点,Qt.StrongFocus:貌似跟click一样 Qt.WheelFocus
button.setCheckable(True) #设置为开关按钮 toggle 就是按下按钮不会弹起
button.isChecked() 返回bool值 只有setCheckable()为true时有效
button.setShortcut('Ctrl+F') #设置快捷方式
#Pyqt
PyQt4 ButtonBox
buttonBox
=
QtGui.QDialogButtonBox(QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Cancel)
buttonBox.accepted.connect(
self
.accept)
buttonBox.rejected.connect(
self
.reject)
PyQt4 QMessageBox() 使用教程
message=QtGui.QMessageBox.question(self,u'提示:',u'你确认要退出?',QtGui.QMessageBox.Yes,QtGui.QMessageBox.No,QtGui.QMessageBox.Cancel|QMessageBox::Escape)
#弹出对话框 QMessageBox.question ,QMessageBox.warning 为类型
if message ==QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
message=QtGui.QMessageBox.warning(parent,"title",u"message")
PyQt4 QFont QPixmap QIcon 使用教程
font = QFont("Helvetica", 36, QFont.Bold) #得到一个font object 参数依次是 字体名,大小 ,其他字 体属性
fm = QFontMetrics(font) # 获得font字体输出后占据的矩形大小
fm.height() fm.width() #长宽
icon=QIcon("sd.png")
PyQt4 QTextBrowser 使用教程
browser = QTextBrowser() #实例化一个textbrowser
browser.append('sdfsdfds') #追加内容
browser.setOpenLinks(True) #打开文档内部链接 默认为True
browser.setOpenExternalLinks(True) #打开外部链接 默认false 当openlinks设置false时 该选项无效
textbrowser.setSearchPaths(["ldks",":/sdfs"]) #设置文档搜索路径 参数为包含目录的List
textbrowser.setSource("index.html") #设置文档
dt=textbrowser.documentTitle() #返回文档的标题
self.connect(textbrowser,SIGNAL("SourceChanged(QUrl)"),self.update) #发出一个SourceChanged(QUrl)信号
textbrowser同时 具有以下插槽: home() :返回主文档, backward() #返回上一文档,forward()前进
browser.setDocumentTitle('dsds') #设置文档标题
PyQt4 QLineEdit 使用方法
QLineEdit 单行输入框
lineedit = QLineEdit() 实例化一个输入框
lineedit.setText(‘abc’) 设置'abc'给 lineedit
lineedit.text()
lineedit.toPlainText() 获得lineedit的值
lineedit =setReadOnly(True) #设置为只读
lineedit.setDragEnabled(True) #设置能接受拖放
lineedit.setMaxLength(5) #设置最大长度
lineedit.selectAll() #全选
lineedit.setFocus() #得到焦点
lineedit.setInputMask("dx") #设置修饰 该输入框必须输入两个字符
punctuationRe = QRegExp(r"[ ,;:.]") #得到一个regexp对象 可用下面的验证
lineedit.setValidator(QRegExpValidator(QRegExp(r"[0-9]+")),self) #设置验证 检验用户输入内容
lineedit.emit(SIGNAL('textChanged(QString)')) 发出 信号 (设置为只读时貌似发不出 没有具体测试)
lineedit.emit(SIGNAL(textEdited(QString)')) 发出 信号 如果设置了验证 该信号在通过验证才能发出 (设置为只读时貌似发不出 没有具体测试)
QTextEdit多行输入框
textedit=QTextEdit()
textedit.setText(data)
textedit.append(data) 追加
textedit.setPlainText(text) set 大段文本
textedit.toPlainText() 获得文本内容
PyQt4 QDial QSpinbox 使用方法
dial = QDial() #实例化一个dial
dial.setNotchesVisible(True) #设置边缘
dial.emit('SIGNAL(valueChanged(int))') #发出信号
具有 SLOT("setValue(int)") 的插槽
spin=QSpinBox() #实例化
spinbox.setSingleStep(2) #设置步长 ( QDial 有)
spinbox.setRange(1,50)#范围
spinbox.setMaximum(10) #设置最大值 ( QDial 有)
spinbox.setMinimum(5) 设置最小值 ( QDial 有)
spinbox.setValue(6) 设置当前值 ( QDial 有)
print spinbox.value() 得到当前值 ( QDial 有)
PyQt4 QComboBox QDoubleSpinBox 使用方法
fromComboBox = QComboBox() 添加一个 combobox
fromComboBox.addItem(rates) 添加一个下拉选项
fromComboBox.addItems(["%d years" % x for x in range(2, 26)]) 从序列中添加
fromComboBox.setMaxVisibleItems(10) #设置最大显示下列项 超过要使用滚动条拖拉
fromComboBox.setMaxCount(5) #设置最大下拉项 超过将不显示
fromComboBox.setInsertPolicy(QComboBox.InsertAfterCurrent) #设置插入方式
插入方式有:NoInsert,InsertAtTop,InsertAtCurrent,InsertAtBottom,InsertAfterCurrent
InsertBeforeCurrent,InsertAlphabetically
字面意思都好理解 最后一个是按字母表顺序插入
QComboBox 发出一个currentIndexChanged(int) 的信号.
QComboBox 得到当前项 currentIndex() + 1 #QComboBox 默认的currentIndex为 -1
QComboBox.findText('dsfds') #返回 内容为dsfds的索引
QComboBox 得到当前项文本内容 currentText()
fromSpinBox = QDoubleSpinBox()
fromSpinBox.setRange(0.01, 10000000.00)
fromSpinBox.setSuffix(" %d") #设置后缀 如显示 10.0%d
fromSpinBox.setPrefix('#d') #设置前缀
fromSpinBox.setValue(1.00) 设置值
QDoubleSpinBox 发出 valueChanged(double) 信号 有setValue(double)插槽
PyQt4 formLayout
self
.formGroupBox
=
QtGui.QGroupBox(
"Form layout"
)
layout
=
QtGui.QFormLayout()
layout.addRow(QtGui.QLabel(
"Line 1:"
), QtGui.QLineEdit())
layout.addRow(QtGui.QLabel(
"Line 2, long text:"
), QtGui.QComboBox())
layout.addRow(QtGui.QLabel(
"Line 3:"
), QtGui.QSpinBox())
self
.formGroupBox.setLayout(layout)
相关推荐
**PyQt4 入门教程概述** PyQt4 是一个基于 Python 的图形用户界面(GUI)工具包,它使得 Python 开发者能够利用 Qt 库创建功能丰富的桌面应用程序。Qt 库是由 Qt Company 开发的,它是一个跨平台的 C++ 库,支持 ...
### PyQt4 学习教程知识点概述 ...以上是对PyQt4教程的关键知识点的总结,旨在帮助初学者快速了解PyQt4的核心概念和使用方法。通过深入学习每个模块的功能,开发者能够更好地利用PyQt4构建高效、美观的GUI应用程序。
PyQt4,是Python中有一个非常强大的GUI工具包。相比wxpython,界面美观了很多,并且将界面设计与代码逻辑很好的分离了开来。本文件为PyQt4的中文教程CHM版,方便您的查阅和学习!
### PyQt4 入门教程知识点概述 #### 一、简介 **1.1 关于这篇教程** - **目的**: 本教程旨在为初学者提供一个系统性地学习PyQt4的基础指南,帮助读者掌握该库的基本用法及高级功能。 - **适用人群**: 适合已经具备...
PyQt5中文教程,本教程的目的是带领你入门PyQt5。教程内所有代码都在Linux上测试 通过。PyQt4 教程是PyQt4的教程,PyQt4是一个Python(同时支持 2和3)版的Qt库。
最后,教程中还提到了PyQt4和PyQt5的区别,以便于有经验的PyQt4用户向PyQt5迁移时参考。 通过以上知识点的学习,读者将能够掌握PyQt5的入门级知识,并具备使用PyQt5开发简单桌面应用程序的能力。同时,本教程也旨在...
PyQt5入门教程主要面向初学者,目的是帮助他们快速掌握使用PyQt5来创建基本图形用户界面的技能。本教程强调通过实例来讲解,使初学者能迅速入门并建立信心。同时,资深开发人员也可以通过本教程回顾基础知识,或是...
在"PyQt4入门教程.chm"这个文件中,你应该会找到关于这些知识点的详细解释和实例代码,逐步学习并实践,将有助于你快速掌握PyQt的使用。记得理论结合实践,不断尝试编写小项目,提升自己的技能水平。
PyQt4教程(pyqt_tutorial.pdf)提供了对PyQt4 API的深入理解,覆盖了从基本窗口管理到高级特性如网络编程和多媒体支持的所有内容。这个英文版教程可以帮助读者掌握如何使用Qt Designer来设计UI,如何将这些设计转换...
ZetCode上的PyQt4的教程,经整理
其次,"PyQt4入门指南"是专门为初学者设计的教程,它涵盖了PyQt4的基础知识,如安装配置环境、编写第一个GUI程序、窗口部件的使用、对话框的创建、菜单和工具栏的设计等。此外,它可能还会讲解如何利用Qt Designer...
PyQt4是Python编程语言的一个模块,它允许开发者使用Qt库来创建图形用户界面(GUI)应用程序。这个版本的PyQt4是基于GPL许可的,并且已经与Qt4.8.5版本进行了绑定。 描述中提到,这个安装包是经过测试并且可用的,...
"去脚本之家看看.url"、"领取天猫淘宝内部优惠券.url"和"服务器软件.url"看起来是链接文件,它们可能指向相关的资源网站,如教程、优惠信息或服务器软件下载页面,但与PYQT4的安装和使用直接关联性不大。 总结起来...
本篇快速入门教程将介绍如何使用PyQt5创建一个简单的窗口,并对代码进行了详细的注释说明,适合初学者快速上手。 首先,我们需要了解PyQt5中的几个基础概念和组件。在PyQt5中,所有GUI组件都是通过继承特定的Qt类来...
7. **模型视图介绍(ModelViewIntro)**:`Tutorial01_ModelViewIntro.py`作为入门教程,可能介绍了PyQt4中模型视图的基本概念和使用方法,包括如何设置模型、连接视图以及如何进行数据操作。 8. **数据与控件映射...
PyQt4入门指南 PDF中文版,里面详细的介绍了pyqt4的使用方法
最后,PyQt4的使用涉及到许多主题,如信号和槽机制、事件处理、布局管理、图形视图框架、网络编程、SQL数据库集成等。学习和熟练掌握PyQt4,不仅可以让你创建出美观的图形界面,还能利用Qt的强大功能来实现复杂的...