pythongui程序_Python GUI程序学习(基础一)

一、父与子

在PyQt中,父与子的关系表示界面对象的从属关系,也就是定义为父对象的拥有子对象的界面。在最顶层的界面中,在其初始化过程中,parent通常为none,​然后再用super来初始化。如下程序:

class Form(QDialog):

def

__init__(self, parent=None):

super(Form,

self).__init__(parent)

date = self.getdata() rates =

sorted(self.rates.keys())

dateLabel =

QLabel(date)

self.fromComboBox =

QComboBox()

self.fromComboBox.addItems(rates)

self.fromSpinBox =

QDoubleSpinBox()

self.fromSpinBox.setRange(0.01, 10000000.00)

self.fromSpinBox.setValue(1.00)

self.toComboBox =

QComboBox()

self.toComboBox.addItems(rates)

self.toLabel =

QLabel("1.00")

二、信号和槽

在PyQt中,第二个比较重要的概念是信号和槽。信号是指GUI的界面发生改变,如鼠标单击界面、界面某个控件的属性发生变化等等。槽是指界面改变引发的变化,这种变化通常是函数或者方法。信号和槽之间使用connect函数连接。​如下:

self.connect(self.toComboBox,

SIGNAL("currentIndexChanged(int)"), self.updateUi)

self.connect(self.fromSpinBox, SIGNAL("valueChanged(double)"),

self.updateUi)

self.setWindowTitle("Currency")​

槽为​updateUi函数,该函数定义如下:

def

updateUi(self):

to =

unicode(self.toComboBox.currentText())

from_ =

unicode(self.fromComboBox.currentText())

amount =

(self.rates[from_] / self.rates[to]) * \ self.fromSpinBox.value()

self.toLabel.setText("%0.2f" %

amount)​

三、整个GUI设置好后的启动

界面通常定义为类,它包含了各种控件和方法。需要对其启动,语句如下:

app = QApplication(sys.argv)

form = Form()

form.show()

app.exec_()​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值