ZetCode PyQt4 tutorial widgets I
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- """
- ZetCode PyQt4 tutorial
- In this example, a QtGui.QCheckBox widget
- is used to toggle the title of a window.
- author: Jan Bodnar
- website: zetcode.com
- last edited: September 2011
- """
- import sys
- from PyQt4 import QtGui, QtCore
- class Example(QtGui.QWidget):
- def __init__(self):
- super(Example, self).__init__()
- self.initUI()
- def initUI(self):
- # This is a QtGui.QCheckBox constructor.
- cb = QtGui.QCheckBox('Show title', self)
- cb.move(20, 20)
- # We have set the window title, so we must also check the checkbox. By default, the window title is not set and the checkbox is unchecked.
- cb.toggle()
- # We connect the user defined changeTitle() method to the stateChanged signal. The changeTitle() method will toggle the window title.
- cb.stateChanged.connect(self.changeTitle)
- self.setGeometry(300, 300, 250, 150)
- self.setWindowTitle('QtGui.QCheckBox')
- self.show()
- # The state of the widget is given to the changeTitle() method in the state variable. If the widget is checked, we set a title of the window. Otherwise, we set an empty string to the titlebar.
- def changeTitle(self, state):
- if state == QtCore.Qt.Checked:
- self.setWindowTitle('QtGui.QCheckBox')
- else:
- self.setWindowTitle('')
- def main():
- app = QtGui.QApplication(sys.argv)
- ex = Example()
- sys.exit(app.exec_())
- if __name__ == '__main__':
- main()
- --------------------------------------------------------------------------------
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- """
- ZetCode PyQt4 tutorial
- In this example, we create three toggle buttons.
- They will control the background color of a
- QtGui.QFrame.
- author: Jan Bodnar
- website: zetcode.com
- last edited: September 2011
- """
- import sys
- from PyQt4 import QtGui
- class Example(QtGui.QWidget):
- def __init__(self):
- super(Example, self).__init__()
- self.initUI()
- def initUI(self):
- # This is the initial, black colour value.
- self.col = QtGui.QColor(0, 0, 0)
- # To create a toggle button, we create a QtGui.QPushButton and make it checkable by calling the setCheckable() method.
- redb = QtGui.QPushButton('Red', self)
- redb.setCheckable(True)
- redb.move(10, 10)
- # We connect a clicked signal to our user defined method. We use the clicked signal that operates with a Boolean value.
- redb.clicked[bool].connect(self.setColor)
- greenb = QtGui.QPushButton('Green', self)
- greenb.setCheckable(True)
- greenb.move(10, 60)
- greenb.clicked[bool].connect(self.setColor)
- blueb = QtGui.QPushButton('Blue', self)
- blueb.setCheckable(True)
- blueb.move(10, 110)
- blueb.clicked[bool].connect(self.setColor)
- self.square = QtGui.QFrame(self)
- self.square.setGeometry(150, 20, 100, 100)
- self.square.setStyleSheet("QWidget { background-color: %s }" %
- self.col.name())
- self.setGeometry(300, 300, 280, 170)
- self.setWindowTitle('Toggle button')
- self.show()
- def setColor(self, pressed):
- # We get the button which was toggled.
- source = self.sender()
- if pressed:
- val = 255
- else: val = 0
- # In case it is a red button, we update the red part of the colour accordingly.
- if source.text() == "Red":
- self.col.setRed(val)
- elif source.text() == "Green":
- self.col.setGreen(val)
- else:
- self.col.setBlue(val)
- # We use style sheets to change the background colour.
- self.square.setStyleSheet("QFrame { background-color: %s }" %
- self.col.name())
- def main():
- app = QtGui.QApplication(sys.argv)
- ex = Example()
- sys.exit(app.exec_())
- if __name__ == '__main__':
- main()
- --------------------------------------------------------------------------------
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- """
- ZetCode PyQt4 tutorial
- This example shows a QtGui.QSlider widget.
- author: Jan Bodnar
- website: zetcode.com
- last edited: September 2011
- """
- import sys
- from PyQt4 import QtGui, QtCore
- class Example(QtGui.QWidget):
- def __init__(self):
- super(Example, self).__init__()
- self.initUI()
- def initUI(self):
- # Here we create a horizontal QtGui.QSlider.
- sld = QtGui.QSlider(QtCore.Qt.Horizontal, self)
- sld.setFocusPolicy(QtCore.Qt.NoFocus)
- sld.setGeometry(30, 40, 100, 30)
- # We connect the valueChanged signal to the user defined changeValue() method.
- sld.valueChanged[int].connect(self.changeValue)
- self.label = QtGui.QLabel(self)
- # We create a QtGui.QLabel widget and set an initial mute image to it.
- self.label.setPixmap(QtGui.QPixmap('mute.png'))
- self.label.setGeometry(160, 40, 80, 30)
- self.setGeometry(300, 300, 280, 170)
- self.setWindowTitle('QtGui.QSlider')
- self.show()
- def changeValue(self, value):
- # Based on the value of the slider, we set an image to the label. In the above code, we set a mute.png image to the label if the slider is equal to zero
- if value == 0:
- self.label.setPixmap(QtGui.QPixmap('mute.png'))
- elif value > 0 and value <= 30:
- self.label.setPixmap(QtGui.QPixmap('min.png'))
- elif value > 30 and value < 80:
- self.label.setPixmap(QtGui.QPixmap('med.png'))
- else:
- self.label.setPixmap(QtGui.QPixmap('max.png'))
- def main():
- app = QtGui.QApplication(sys.argv)
- ex = Example()
- sys.exit(app.exec_())
- if __name__ == '__main__':
- main()
- --------------------------------------------------------------------------------
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- """
- ZetCode PyQt4 tutorial
- This example shows a QtGui.QProgressBar widget.
- author: Jan Bodnar
- website: zetcode.com
- last edited: September 2011
- """
- import sys
- from PyQt4 import QtGui, QtCore
- class Example(QtGui.QWidget):
- def __init__(self):
- super(Example, self).__init__()
- self.initUI()
- def initUI(self):
- # This is a QtGui.QProgressBar constructor.
- self.pbar = QtGui.QProgressBar(self)
- self.pbar.setGeometry(30, 40, 200, 25)
- self.btn = QtGui.QPushButton('Start', self)
- self.btn.move(40, 80)
- self.btn.clicked.connect(self.doAction)
- # To activate the progress bar, we use a timer object.
- self.timer = QtCore.QBasicTimer()
- self.step = 0
- self.setGeometry(300, 300, 280, 170)
- self.setWindowTitle('QtGui.QProgressBar')
- self.show()
- # Each QtCore.QObject and its descendants have a timerEvent() event handler. In order to react to timer events, we reimplement the event handler.
- def timerEvent(self, e):
- if self.step >= 100:
- self.timer.stop()
- self.btn.setText('Finished')
- return
- self.step = self.step + 1
- self.pbar.setValue(self.step)
- # Inside the doAction() method, we start and stop the timer.
- def doAction(self):
- if self.timer.isActive():
- self.timer.stop()
- self.btn.setText('Start')
- else:
- # To launch a timer event, we call its start() method. This method has two parameters: the timeout and the object which will receive the events.
- self.timer.start(100, self)
- self.btn.setText('Stop')
- def main():
- app = QtGui.QApplication(sys.argv)
- ex = Example()
- sys.exit(app.exec_())
- if __name__ == '__main__':
- main()
- --------------------------------------------------------------------------------
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- """
- ZetCode PyQt4 tutorial
- This example shows a QtGui.QCalendarWidget widget.
- author: Jan Bodnar
- website: zetcode.com
- last edited: September 2011
- """
- import sys
- from PyQt4 import QtGui, QtCore
- class Example(QtGui.QWidget):
- def __init__(self):
- super(Example, self).__init__()
- self.initUI()
- def initUI(self):
- # We construct a calendar widget.
- cal = QtGui.QCalendarWidget(self)
- cal.setGridVisible(True)
- cal.move(20, 20)
- # If we select a date from the widget, a clicked[QtCore.QDate] signal is emitted. We connect this signal to the user defined showDate() method.
- cal.clicked[QtCore.QDate].connect(self.showDate)
- self.lbl = QtGui.QLabel(self)
- date = cal.selectedDate()
- self.lbl.setText(date.toString())
- self.lbl.move(130, 260)
- self.setGeometry(300, 300, 350, 300)
- self.setWindowTitle('Calendar')
- self.show()
- # We retrieve the selected date by calling the selectedDate() method. Then we transform the date object into string and set it to the label widget.
- def showDate(self, date):
- self.lbl.setText(date.toString())
- def main():
- app = QtGui.QApplication(sys.argv)
- ex = Example()
- sys.exit(app.exec_())
- if __name__ == '__main__':
- main()
ZetCode PyQt4 tutorial widgets I的更多相关文章
- ZetCode PyQt4 tutorial widgets II
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...
- ZetCode PyQt4 tutorial layout management
!/usr/bin/python -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial This example shows ...
- ZetCode PyQt4 tutorial First programs
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...
- ZetCode PyQt4 tutorial Drag and Drop
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial This is a simple ...
- ZetCode PyQt4 tutorial Dialogs
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...
- ZetCode PyQt4 tutorial signals and slots
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...
- ZetCode PyQt4 tutorial work with menus, toolbars, a statusbar, and a main application window
!/usr/bin/python -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial This program create ...
- ZetCode PyQt4 tutorial custom widget
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...
- ZetCode PyQt4 tutorial basic painting
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...
随机推荐
- 028-B+树(一)
B+ 树 这部分主要学习:什么是B+树? 了解了 B 树后再来了解下它的变形版:B+ 树,它比 B 树的查询性能更高. 一棵 B+ 树需要满足以下条件: 节点的子树数和关键字数相同(B 树是关键字数比 ...
- 通过Python来操作kylin
起因: 老大要求的数据,无法通过kylin里面的SQL查询到,只能通过调用接口来实现需求 第一步,安装依赖的包(py2/py3都支持,我这边用的是py2) pip install kylinpy pi ...
- iOS error: -34018
一般报这个错误是由于操作keychain 报的错. 遇到该情况的情况: 1.是否打开权限 2.苹果自身的bug,传送门:https://stackoverflow.com/questions/2974 ...
- STM32之独立版USB(Host)驱动+MSC+Fatfs移植
源:STM32之独立版USB(Host)驱动+MSC+Fatfs移植 STM32之USB驱动库详解(架构+文件+函数+使用说明+示例程序)
- Python面试题之Python反射详解
0x00 前言 反射,可以理解为利用字符串的形式去对象中操作成员属性和方法 反射的这点特性让我联想到了exec函数,也是把利用字符串的形式去让Python解释器去执行命令 Python Version ...
- SQL学习笔记之MySQL查询练习2
(网络搜集) 0x00 数据准备 CREATE TABLE students (sno ) NOT NULL, sname ) NOT NULL, ssex ) NOT NULL, sbirthday ...
- asp.net web api的源码
从安装的NuGet packages逆向找回去 <package id="Microsoft.AspNet.WebApi.Core" version="5.2.7& ...
- luogu p3371 单源最短路径(dijkstral
本来我写的对的 我就多手写了个 ios::sync_with_stdio(false); 我程序里面用了cin 还有scanf 本来想偷偷懒 我就说 我查了半天错 根本找不到的啊... 后来交了几次 ...
- adb 安装软件
一.连接 adb connect 192.168.1.10 输出 connected to 二.查看设备 adb devices 输出 List of devices attached device ...
- RabbitMQ入门_02_HelloWorld
A. AMQP基础 RabbitMQ 并不是基于 Java 开发人员熟悉的 JMS 规范设计开发的,而是基于一个比 JMS 更新更合理的 AMQP (Advanced Message Queuing ...