PyQt5
Leowner
以德报怨,何以报德?。。
展开
-
pyqt tableview实现获取选定行中某个单元格的信息
print(self.model.itemData(self.model.index(self.tableView.currentIndex().row(), 0)))此处self为窗口的类,model为和tableview绑定的模型。使用currentIndex获取当前选中的单元格的QModelIndex,通过.row获得行号,再使用index将行号+列号重新转回QModelIndex格式,即可通过itemData获取对应索引的信息...原创 2020-09-06 10:09:26 · 3795 阅读 · 3 评论 -
pyqt实战日记5 完成数据库内容显示,与数据库的连接
此处以SQLITE为例,进行简要介绍 database = QSqlDatabase.addDatabase("QSQLITE") database.setDatabaseName("../res/starlight.db") self.model = QSqlTableModel() self.model.setTable("student") self.model.setEditStrategy(QSqlTableModel.OnMan原创 2020-08-08 21:46:40 · 1007 阅读 · 0 评论 -
pyqt实战日记4 利用dialog实现文件选择窗口
该部分本来难度很低,仅涉及创建一个控件的问题,但在qt designer 中似乎并未提供类似的操作,只能通过代码实现。具体逻辑如下: file_dialog = QFileDialog() file_dialog.setFileMode(QFileDialog.AnyFile) file_dialog.setFilter(QDir.Files) if file_dialog.exec_(): file_names = file_原创 2020-08-08 21:42:48 · 436 阅读 · 0 评论 -
pyqt实战日记3 浅谈多窗口操作
常见的情况下,主窗口选择MainWindow,子窗口选择Dialog类型。在qt designer中,可以绘制出两个ui文件,在新建文件时分别选择MainWindow和Dialog,得到两个Ui的py文件。利用实战日记1所述方法,构造两个自定义类,继承基类和Ui类。在MainWindow中实例化Dialog即可class MyMainWindow(QMainWindow, Ui_MainWindow): def __init__(self, parent=None): s.原创 2020-08-08 10:06:29 · 350 阅读 · 0 评论 -
PyQt实战日记2 信号和槽 简单按钮 调用自定义函数
PyQt中定义了信号和槽两种类型,信号是一个控件在某些情况下传出的指令,槽则是在某些空间中的信号处理模块。在实际使用中,往往需要定义发出信号的模块,信号类型,接受信号模块,接受信号的槽。实际上,最最常用的是两种:系统信号+系统槽,往往用于处理最常见的指令,类似于在单击某按钮后关闭窗口;系统信号+自定义槽,用于调用自定义内容,例如在点击某按钮后显示提示信息。首先讨论在qt designer中引入信号和槽(该操作也可在py代码中完成,实际上designer只是帮助生成py代码,并没有其独有的专有的功能,所有原创 2020-08-07 23:04:32 · 3033 阅读 · 0 评论 -
pyqt实战日记1 结合qt designer 实现简单单窗口
如上图是Qt designer界面的图示,左侧为控件栏,可以直接从中拖拽控件到中间的工作区域,以将其加入窗口中。右上为项目框架,右下为控件的各种属性。有关qt designer的具体用法此处不再赘述,建议参考《PyQt5 快速开发与实战》或其他博客。设计完成后,保存成.ui文件,使用pyuic5 xxx.ui -o xxx.py可以将ui文件转化为py文件。观察.py文件,发现其为类似如下格式# -*- coding: utf-8 -*-# Form implementation gene.原创 2020-08-07 22:39:56 · 359 阅读 · 1 评论 -
pyqt实战日记总:实现文件选取,读入,数据库显示,数据可视化
总结接下来要完成的核心内容:结合qt designer,实现简单的静态的单窗口,研究ui文件和py文件的交互实现按钮功能,体会信号和槽的传导机制,实现界面与自定义函数的交互拓展到多窗口,实现窗口之前的联系和切换利用Dialog窗口完成文件选取窗口完成数据库内容显示,与数据库的连接待续...原创 2020-08-07 22:17:53 · 282 阅读 · 0 评论