(二)数码管绘制程序。 自行设计界面上的输出信息"加上班级 姓名 学号,日期的年月日等" 包括字体、颜色 、样式 均可自行编辑. 将——————————的每一行补充正确的代码。
时间: 2023-09-02 21:14:18 浏览: 115
以下是一个基本的数码管绘制程序,可以根据需要自行添加界面及输出信息。在代码中,可以自行修改字体、颜色、样式等。
```python
import tkinter as tk
class SevenSegmentDisplay(tk.Canvas):
def __init__(self, master=None, **kwargs):
tk.Canvas.__init__(self, master, width=200, height=350, highlightthickness=0, **kwargs)
self.segments = [
self.create_line(50, 40, 130, 40, width=10),
self.create_line(140, 50, 140, 130, width=10),
self.create_line(140, 160, 140, 240, width=10),
self.create_line(50, 250, 130, 250, width=10),
self.create_line(40, 240, 40, 160, width=10),
self.create_line(40, 130, 40, 50, width=10),
self.create_line(50, 150, 130, 150, width=10)
]
self.mapping = {
'0': [0, 1, 2, 4, 5, 6],
'1': [2, 5],
'2': [0, 2, 3, 4, 6],
'3': [0, 2, 3, 5, 6],
'4': [1, 2, 3, 5],
'5': [0, 1, 3, 5, 6],
'6': [0, 1, 3, 4, 5, 6],
'7': [0, 2, 5],
'8': [0, 1, 2, 3, 4, 5, 6],
'9': [0, 1, 2, 3, 5, 6]
}
self.display('8888')
def display(self, value):
for segment in self.segments:
self.itemconfig(segment, fill='black')
for digit, char in enumerate(value[::-1]):
for segment in self.mapping[char]:
self.itemconfig(self.segments[segment], fill='red')
root = tk.Tk()
root.geometry('300x500')
label = tk.Label(root, text='加上班级 姓名 学号,日期的年月日等', font=('Arial', 16), fg='blue')
label.pack(pady=20)
display = SevenSegmentDisplay(root)
display.pack()
root.mainloop()
```
在上面的程序中,我们创建了一个名为 `SevenSegmentDisplay` 的类,它继承自 `tk.Canvas`。这个类可以用来绘制七段数码管显示器,并提供一个 `display` 方法来显示数字。具体来说,这个类包含以下属性和方法:
- `segments`: 用来存储各个线段的 ID。
- `mapping`: 一个字典,用来将数字映射为需要点亮的线段。
- `__init__()`: 构造方法,用来初始化对象。
- `display()`: 用来显示数字,接受一个字符串类型的参数。
在主程序中,我们创建了一个 `SevenSegmentDisplay` 对象,并将其显示在窗口中。同时,我们还创建了一个标签 `label`,用来显示其他信息。
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)