Форум программистов, компьютерный форум, киберфорум
Python: Tkinter
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 18.11.2020
Сообщений: 153

Работа с таблицей

03.06.2021, 20:13. Показов 1951. Ответов 1

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
from tkinter import *
from tkinter import messagebox as mb
import modul_1
from tkinter import filedialog as fd
 
def add_window():
    def add():
        name = en1.get()
        num = en2.get()
        time = en3.get()
 
        trains.add(name, num, time)
 
    add_w = Toplevel()
    add_w.title('Добавить')
    add_w.resizable(False, False)
    add_w.geometry('400x200')
    en1 = Entry(add_w)
    en2 = Entry(add_w)
    en3 = Entry(add_w)
    lb1 = Label(add_w, text="Пункт назначения")
    lb2 = Label(add_w, text="Номер поезда")
    lb3 = Label(add_w, text="Время отправления")
    bt1 = Button(add_w, text="Добавить", command=add)
 
    lb1.grid(row=0, column=0)
    lb2.grid(row=1, column=0)
    lb3.grid(row=2, column=0)
    en1.grid(row=0, column=1)
    en2.grid(row=1, column=1)
    en3.grid(row=2, column=1)
    bt1.grid(row=4, column=0, columnspan=2)
 
 
def extract_text():
    file_name = fd.asksaveasfilename()
    try:
        f = open(file_name, 'w')
    except (FileNotFoundError, TypeError):
        mb.showinfo("Ошибка","Файл не сохранен!")
    else:
        s = text.get(1.0, END)
        f.write(s)
        f.close()
 
def select_window():
    def choice():
        try:
            choice_en = int(en4.get())
            res = trains.select(choice_en)
            if res:
                for idx, name in enumerate(res, 1):
                    text.delete(0.0, END)
                    text.insert(0.0, '{:>4}: {}'.format(idx, modul_1.train.name))
            else:
                text.delete(0.0, END)
                text.insert(0.0, 'Такого пункта отправления нет')
        except():
            mb.showinfo("Выбор пункта",
                        "Введите пункт отправления!")
    sel_w = Toplevel()
    sel_w.title('Выбрать')
    sel_w.resizable(False, False)
    sel_w.geometry('225x100')
    lb4 = Label(sel_w, text="Введите пункт отправления поезда")
    en4 = Entry(sel_w)
    bt3 = Button(sel_w, text="Подтвердить", command=choice)
    lb4.pack(padx=2, pady=2)
    en4.pack(padx=2, pady=2)
    bt3.pack(padx=2, pady=2)
 
def insert_text():
    file_name = fd.askopenfilename()
    try:
        f = open(file_name)
    except(FileNotFoundError, TypeError):
        mb.showinfo("Открытие файла",
                    "Файл не выбран!")
    else:
        s = f.read()
        text.insert(1.0, s)
        f.close()
 
 
def help_window():
    help_w = Toplevel()
    help_w.title('Помощь')
    help_w.resizable(False, False)
    help_w['bg'] = 'white'
    img = PhotoImage(file='Справка.png')
    bt2 = Button(
        help_w,
        image=img,
        bg='white',
        borderwidth=0,
        activebackground='white',
        command=lambda: help_w.destroy()
    )
    bt2.image = img
    bt2.pack()
 
def show():
    text.delete(0.0, END)
    text.insert(0.0, trains)
 
 
if __name__ == '__main__':
    trains = modul_1.Staff()
 
 
    root = Tk()
    root.geometry('800x450')
    root.title('Расписание поездов')
    root.resizable(False, False)
 
    main_menu = Menu(root)
    root.config(menu=main_menu)
 
    file_menu = Menu(main_menu, tearoff=0)
    file_menu.add_command(label="Открыть", command=insert_text)
    file_menu.add_command(label="Добавить", command=add_window)
    file_menu.add_command(label="Сохранить", command=extract_text)
    main_menu.add_cascade(label="Файл", menu=file_menu)
    main_menu.add_command(label="Выбрать", command=select_window)
    main_menu.add_command(label="Показать", command=show)
    main_menu.add_command(label="Помощь", command=help_window)
    main_menu.add_command(label="Выход", command=lambda: root.destroy())
 
    text = Text(bg='white', width=100, height=100)
    text.pack(side=LEFT)
    scroll = Scrollbar(command=text.yview)
    scroll.pack(side=LEFT, fill=Y)
    text.config(yscrollcommand=scroll.set)
 
    root.mainloop()
как сделать так,чтобы таблица получаемая при выводе не изменялась,чтобы ничего нельзя было с ней сделать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.06.2021, 20:13
Ответы с готовыми решениями:

Работа с таблицей MSSQL в WxPython
Всем привет. Мне необходимо сделать GUI-интерфейс с возможностью просмотра/редактирования таблицы MSSQL. Подскажите, в каком направлении...

Составить программу, в которой будет реализована работа с таблицей по варианту. Для работы пользователя с таблицей будет
Добрый день. Есть такое задание: Составить программу, в которой будет реализована работа с таблицей по варианту. Для работы пользователя...

Работа с таблицей
Добрый день! Имеется таблица из какого-то нормативного документа - СП, ГОСТ и так далее. Общий вид упрощенно: Необходимо,...

1
263 / 152 / 33
Регистрация: 29.06.2019
Сообщений: 1,538
04.06.2021, 14:34
Цитата Сообщение от Tvimexer Посмотреть сообщение
Entry
переделать все widget Entry на widget Label
пример
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#-------------------------------------------------------------------------------
# Author:  https://************/questions/225357/creating-a-table-look-a-like-tkinter
#-------------------------------------------------------------------------------
 
# simple 2d table
 
import tkinter as tk
 
class ExampleApp(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        t = SimpleTable(self, 10,2)
        t.pack(side="top", fill="x")
        t.set(0,0,"Hello, world")
 
class SimpleTable(tk.Frame):
    def __init__(self, parent, rows=10, columns=2):
        # use black background so it "peeks through" to
        # form grid lines
        tk.Frame.__init__(self, parent, background="black")
        self._widgets = []
        for row in range(rows):
            current_row = []
            for column in range(columns):
                label = tk.Label(self, text="%s/%s" % (row, column),
                                 borderwidth=0, width=10)
                label.grid(row=row, column=column, sticky="nsew", padx=1, pady=1)
                current_row.append(label)
            self._widgets.append(current_row)
 
        for column in range(columns):
            self.grid_columnconfigure(column, weight=1)
 
 
    def set(self, row, column, value):
        widget = self._widgets[row][column]
        widget.configure(text=value)
 
if __name__ == "__main__":
    app = ExampleApp()
    app.mainloop()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2021, 14:34
Помогаю со студенческими работами здесь

работа с таблицей
Как страницу с таблицей заключать в рамку-рисунок? Добавлено через 32 минуты Как поместить картинку или диаграмму в кадр? Как...

Работа с таблицей
как заполнить 1ую строчку нулями,но так же сдвинуть все значения на 1 вниз,чтобы не потерялись значения вот код заполнения begin ...

Работа с таблицей
Здравствуйте, помогите с кодом Я сделал таблицу у которой в источниках указана уже готовая таблица с базы данных, мне нужно...

Работа с таблицей в QT
Есть задача: надо заполнить несколько таблиц типа QTableWidget с именами типа Reg_1, Reg_2...Reg_N данными из структур, которые нумеруются...

Работа с таблицей
Теперь позвольте второй вопрос. Есть такая "таблица": Наименование Местонахождение Вид зарегистрированного лица Доля в УК, % ЗАО...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. fontSize": 18, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations":. . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru