pyqt5显示打卡情况
时间: 2023-09-14 17:06:28 浏览: 103
要使用PyQt5显示打卡情况,需要以下步骤:
1. 创建一个PyQt5应用程序,并设置窗口大小和标题。
2. 在窗口中添加一个表格部件,用于显示打卡情况。
3. 创建一个打卡数据源,例如从文件或数据库中读取数据。
4. 将打卡数据填充到表格中。
5. 添加一个刷新按钮,当用户点击它时,重新加载打卡数据并更新表格。
下面是一个简单的示例代码,可以实现上述功能:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QTableWidget, QVBoxLayout, QTableWidgetItem, QPushButton
class ClockIn(QWidget):
def __init__(self):
super().__init__()
# 设置窗口大小和标题
self.setGeometry(100, 100, 500, 300)
self.setWindowTitle('打卡情况')
# 创建表格部件,并设置列数和表头
self.table = QTableWidget()
self.table.setColumnCount(3)
self.table.setHorizontalHeaderLabels(['姓名', '日期', '状态'])
# 填充打卡数据
self.fill_data()
# 添加刷新按钮
self.refresh_button = QPushButton('刷新')
self.refresh_button.clicked.connect(self.fill_data)
# 创建垂直布局,并将表格和按钮添加到其中
layout = QVBoxLayout()
layout.addWidget(self.table)
layout.addWidget(self.refresh_button)
self.setLayout(layout)
def fill_data(self):
# TODO: 从数据源中读取打卡数据,并将其填充到表格中
pass
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = ClockIn()
ex.show()
sys.exit(app.exec_())
```
在 `fill_data` 方法中,可以通过文件或数据库等方式获取打卡数据,并将其填充到表格中。填充数据的代码示例如下:
```python
def fill_data(self):
# 从数据源中读取打卡数据
data = [
('张三', '2021-01-01', '已打卡'),
('李四', '2021-01-01', '未打卡'),
('王五', '2021-01-02', '已打卡'),
('赵六', '2021-01-02', '未打卡'),
]
# 清空表格
self.table.clear()
# 设置表格行数
self.table.setRowCount(len(data))
# 将数据填充到表格中
for i, (name, date, status) in enumerate(data):
self.table.setItem(i, 0, QTableWidgetItem(name))
self.table.setItem(i, 1, QTableWidgetItem(date))
self.table.setItem(i, 2, QTableWidgetItem(status))
```
这样,就可以使用PyQt5显示打卡情况了。
阅读全文