首页 » 网站推广 » php给checkbox赋值技巧_运用pyqt来编写属于自己的python Gui界面

php给checkbox赋值技巧_运用pyqt来编写属于自己的python Gui界面

访客 2024-11-19 0

扫一扫用手机浏览

文章目录 [+]

由于本人现在紧张因此python为主,以是在选择的时候,就从这方面入手。
许多人在学习如何创建一个 GUI 运用的时候都感到十分的困难。
个中最主要的缘故原由是,他们不知道该当从何下手。
大多数的教程都只有笔墨,但事实上仅仅依赖笔墨很难学会 GUI 编程,由于 GUI 运用大多数都是基于视觉上的。

本篇文章,紧张是分享下自己在编写这个小工具过程中的心得。
做出来的效果如下:

php给checkbox赋值技巧_运用pyqt来编写属于自己的python Gui界面

工具效果图

php给checkbox赋值技巧_运用pyqt来编写属于自己的python Gui界面
(图片来自网络侵删)

做出来的虽然有点简陋,但是可以做为借鉴、完善,接下来便是工具制作的方法:

1、Gui界面的制作

首先要先安装python环境,然后再eric6,涉及到这些环境的安装可以自行百度去探求方法,在此不会涉及到环境安装的方法,环境安装完成后,打开QT Designer(在eric6根目录下点击eric6.pyc或者在python根目录下点击打开eric.bat):

QT Designer

打开QT Designer后,选择Main Window,点击创建:

创建Main Window

创建好你的MainWindow后:

MainWindow

在MainWindow界面的右边QObject,那便是定义这个工具的名字的地方。
这个名字将是我们通过 Python 代码调用到这个工具的变量名,以是请只管即便取一个故意义的名称。

设计完成你的界面后,点击保存,将会天生得到xxx.ui文件,这个文件可以通过cmd打开ui文件所在的路径,然后通过pyuic4 xx.ui > xx.py 可以得到xx.py文件:

天生的py文件

2、编写代码

Qt 代码是面向工具的,并且大略易学。
所有我们添加的组件都是一个工具,并且都拥有自己的方法比如toPlainText()(用来读取输入框中的值)。
这让它利用起来非常方便。

在你编写代码之前,你必须要利用一些函数来进行配置。
可以通过官方的例程(以及网上的一些教程)中总结出了这一小段代码来进行配置。

这些代码非常有用,每当你想要创建一个新的 PyQt 项目的时候,就在这段代码的根本上添加你自己的代码吧。

这段代码如下:

import sysfrom PyQt4 import QtCore, QtGui, uicqtCreatorFile = \"大众\"大众 # Enter file here.Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)class MyApp(QtGui.QMainWindow, Ui_MainWindow):def __init__(self):QtGui.QMainWindow.__init__(self)Ui_MainWindow.__init__(self)self.setupUi(self)if __name__ == \"大众__main__\公众:app = QtGui.QApplication(sys.argv)window = MyApp()window.show()sys.exit(app.exec_())

个中须要把稳的是:

qtCreatorFile = \公众\"大众 # Enter file here.

你须要在这里填入你先前创建的文件的地址,即便是之前天生的ui文件。
这个文件将会被内置的函数载入:

Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)

再看下这段代码:

if __name__ == \"大众__main__\"大众:app = QtGui.QApplication(sys.argv)window = MyApp()window.show()sys.exit(app.exec_())

这段主程序创建了一个新的 Qt Gui 运用。
,每个 QT 运用都可以通过命令行进行配置,以是必须传入sys.argv 参数。
不过现在我们用不到这个。
末了,我们创建了一个MyApp类,这个类继续于 Qt 库并且调用了父类的初始化函数:

class MyApp(QtGui.QMainWindow, Ui_MainWindow):def __init__(self):QtGui.QMainWindow.__init__(self)Ui_MainWindow.__init__(self)self.setupUi(self)

你不一定非得要理解这些代码的细节。
你只须要在它的根本上连续开拓就好了。

但是最好不须要这样导入ui文件为条件下进行开拓,而是直接天生py文件根本上进行开拓,由于你后续还须要天生exe文件,至于若何实现你的功能,这部分代码可以看看自己的需求了,怎么写就怎么写了:

#此部分为天生的py文件代码self.label_21.setText(_translate(\"大众MainWindow\公众, \公众sign:\"大众, None))self.label_22.setText(_translate(\公众MainWindow\"大众, \公众bizContent:\"大众, None))self.request_button_form.setText(_translate(\公众MainWindow\"大众, \"大众Request\"大众, None))self.timestamp_select_3.setText(_translate(\"大众MainWindow\"大众, \"大众11位韶光戳\"大众, None))self.timestamp_select_4.setText(_translate(\"大众MainWindow\公众, \"大众年-月-日 时:分:秒\公众, None))self.label_23.setText(_translate(\"大众MainWindow\"大众, \公众appSecret:\"大众, None))self.appSecret_input_form.setHtml(_translate(\公众MainWindow\"大众, \公众<!DOCTYPE HTML PUBLIC \\"大众-//W3C//DTD HTML 4.0//EN\\"大众 \\"大众http://www.w3.org/TR/REC-html40/strict.dtd\\"大众>\n\公众\"大众<html><head><meta name=\\"大众qrichtext\\"大众 content=\\"大众1\\"大众 /><style type=\\"大众text/css\\公众>\n\"大众\"大众p, li { white-space: pre-wrap; }\n\"大众\公众</style></head><body style=\\公众 font-family:\'SimSun\'; font-size:9pt; font-weight:400; font-style:normal;\\公众>\n\"大众\"大众<p style=\\公众 margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\\公众>A1B2C3D4E5F6G7H8</p></body></html>\公众, None))self.label_24.setText(_translate(\"大众MainWindow\"大众, \"大众result-output\"大众, None))self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate(\"大众MainWindow\公众, \公众form模式\"大众, None))#此部分为自己实现组件功能的代码# AES加密class prpcrypt():def __init__(self, key,iv):self.key = keyself.iv=ivself.mode = AES.MODE_CBCdef encrypt(self, text):''' 根据key长度必须是16(AES-128),24(AES-192),32(AES-256)位 不敷位数的,可以利用标准的PKCS添补字符 '''data =text+(AES.block_size - len(text) % AES.block_size) chr(AES.block_size - len(text) % AES.block_size)cryptor = AES.new(self.key, self.mode, self.iv)self.ciphertext = cryptor.encrypt(data)return base64.b64encode(self.ciphertext)class MyApp(QtGui.QMainWindow, Ui_MainWindow):def __init__(self):QtGui.QMainWindow.__init__(self)Ui_MainWindow.__init__(self)self.setupUi(self)self.request_button.clicked.connect(self.CalculateTax)def CalculateTax(self):url = str(self.url_input.toPlainText()).strip(' ')appKey=(str(self.appkey_input.toPlainText())).strip(' ')# 获取content-tpye值,获取当前下拉框comboBox的值和当前的索引content_type_index = self.content_type_select.currentIndex() # 获取当前选择的索引值content_type_value = str(self.content_type_select.currentText()) # 获取当前选择的文本,Qstring类型print content_type_indexprint content_type_value

以上为部分代码,只供应为参考

self.request_button.clicked.connect(self.CalculateTax)

这段代码有什么用?还记得我们把按钮命名为了calc_tax_button 吗?(这是这个按钮工具的名字,不是按钮上显示的提示字符串。
clicked 是一个内置的函数,当有按钮被点击的时候它会被自动调用(很神奇吧)。
所有的 QT 组件都有特定的函数,你可以通过 Google 来查看详细。
这段代码的末了部分是connect(self.CalculateTax)
这意味着这个按钮会被链接到一个叫做self.CalculateTax 的函数,这样往后每当用户按下这个按钮的时候,这段代码都会被调用。

下面先容一些获取控件的值和给控件赋默认值的方法:

mainwindow.lineEdit.setText((u\公众zg 额外abc\"大众)) #给输入框赋值

mainwindow.textEdit.setPlainText('') #给texedit赋值

mainwindow.comboBox.setCurrentIndex(2) #给下拉框赋值

mainwindow.checkBox.setChecked(1) #给复选框checkbox赋值,可以填写True或者False 或0 ,1

print unicode(QString(mainwindow.lineEdit.text())) #获取输入框的值

unicode(QString(mainwindow.textEdit.toPlainText()))#获textedit的值

print unicode(QString(mainwindow.comboBox.currentText()))#获取下拉框的值

print mainwindow.comboBox.currentIndex() #获取下拉框的index

if mainwindow.checkBox.isChecked()==True 获取复选框checkbox的值

好了,关于pyqt这块的,先写到这里,我也是刚刚利用这个春节的韶光来琢磨完成的,不过还是须要再深入学习。

相关文章

介绍直播新纪元,轻松进入直播的五大步骤

随着互联网技术的飞速发展,直播行业在我国逐渐崛起,越来越多的人选择通过直播这一新兴媒介展示自己、分享生活、传递价值。对于许多新手来...

网站推广 2025-01-03 阅读1 评论0

介绍相机美颜原理,科技与美学的完美结合

随着科技的发展,智能手机的摄像头功能日益强大,美颜相机成为了许多人拍照的首选。美颜相机不仅满足了人们对于美的追求,更在视觉上给人带...

网站推广 2025-01-03 阅读1 评论0

介绍磁铁的制造,科学与艺术的完美结合

磁铁,一种神秘的物质,自古以来就吸引了无数人的目光。它不仅具有独特的磁性,还能在工业、医疗、科研等领域发挥重要作用。磁铁是如何制造...

网站推广 2025-01-03 阅读1 评论0

介绍电瓶激活方法,让电池焕发新生

随着科技的不断发展,电动汽车逐渐成为人们出行的首选。而电瓶作为电动汽车的核心部件,其性能直接影响着车辆的续航里程和行驶体验。新购买...

网站推广 2025-01-03 阅读1 评论0