Первый код:
from tkinter import *
def check():
global cur_q, points
answer = var.get()
if bool(answer) == facts[cur_q]['right']:
points += 1
if cur_q < len(facts) - 1:
cur_q += 1
fact['text'] = facts[cur_q]['text']
else:
points_label = Label(text = 'Вы набрали ' + str(points) + ' очка',font = ('Arial', 34), fg = 'red', bg = 'white')
points_label.place(x = 0, y = 0, width = 700,height = 250)
window = Tk()
window.geometry('700x600')
window.title('Тест по геометрии')
facts = [
{'text': 'Медиана-линия,соединяющая вершину треугольника с серединой его противоположной стороны', 'right': 1},
{'text': 'Сумма углов прямоугольника-180 градусов', 'right': 0},
{'text': 'В прямоугольном треугольнике самая большая сторона-гипотинуза', 'right': 1},
{'text': 'биссектриса делит стороны пополам', 'right':0}
]
cur_q = 0
points = 0
label_title = Label(text = 'Тестирование по знаниям геометрии', font = ('Arial',24), fg = 'black', bg = 'yellow')
label_title.place(width = 700, height = 50, x = 0,y = 0)
fact = Message(text = facts[cur_q]['text'], font = ('Arial',14), width = 680, borderwidth=0)
fact.configure(justify=CENTER)
fact.place(x=20, y=70)
var = IntVar()
true = Radiobutton(text = 'Правда',variable=var,value = 1)
true.place(x = 10, y = 120)
false = Radiobutton(text = 'Ложь',variable=var, value = 0)
false.place(x = 10,y = 170)
b = Button(text = 'Ответить', font = ('Arial',24), fg = 'black', command = check)
b.place(x = 250,y = 200)
window.mainloop()
Второй код:
from tkinter import *
window = Tk()
window.geometry('700x600')
def draw_home_button():
b = Button(text = 'Домой', font = ('Arial', 24), fg = 'black', command = draw_menu)
b.place(x = 25, y = 500,width = 150)
def clear():
all_widgets = window.place_slaves()
for i in all_widgets:
i.destroy()
draw_home_button()
def draw_menu():
clear()
label_title = Label(text = 'Что бы вы хотели сделать?', font = ('Arial',24), fg = 'white', bg = 'orange')
label_title.place(width = 700, height = 50,x = 0, y = 0)
b_1 = Button(text = 'Математические задачи', font = ('Arial', 18), fg = 'red', command = clear)
b_1.place(x = 25, y = 75, width = 300)
b_2 = Button(text = 'Задания на другие темы', font = ('Arial', 18), fg = 'red', command = clear)
b_2.place(x = 375, y = 75, width = 300)
draw_menu()
window.mainloop()
Мне нужно сделать так,чтобы нажав на кнопку "математические задачи" У меня открывался опрос из первого кода.Пожалуйста,очень нужно
Python
Помогите пожалуйста соединить два кода в один,очень долго пытался,но всё равно не совсем правильно получается
Здравствуйте.
Вот решение:
Файл main.py
Вот решение:
Файл main.py
from tkinter import *
import geometry
window = Tk()
window.geometry('700x600')
def draw_home_button():
b = Button(window, text = 'Домой', font = ('Arial', 24), fg = 'black', command = draw_menu)
b.place(x = 25, y = 500,width = 150)
def clear():
all_widgets = window.place_slaves()
for i in all_widgets:
i.destroy()
draw_home_button()
def draw_menu():
clear()
label_title = Label(window, text = 'Что бы вы хотели сделать?', font = ('Arial',24), fg = 'white', bg = 'orange')
label_title.place(width = 700, height = 50,x = 0, y = 0)
b_1 = Button(window, text = 'Математические задачи', font = ('Arial', 18), fg = 'red', command = geometry.geometry)
b_1.place(x = 25, y = 75, width = 300)
b_2 = Button(window, text = 'Задания на другие темы', font = ('Arial', 18), fg = 'red', command = clear)
b_2.place(x = 375, y = 75, width = 300)
draw_menu()
window.mainloop()
Файл geometry.py from tkinter import *
def check():
global cur_q, points
answer = var.get()
if bool(answer) == facts[cur_q]['right']:
points += 1
if cur_q < len(facts) - 1:
cur_q += 1
fact['text'] = facts[cur_q]['text']
else:
points_label = Label(w, text = 'Вы набрали ' + str(points) + ' очка',font = ('Arial', 34), fg = 'red', bg = 'white')
points_label.place(x = 0, y = 0, width = 700,height = 250)
def geometry():
global var, facts, cur_q, fact, points, w
w = Tk()
w.geometry('700x600')
w.title('Тест по геометрии')
facts = [
{'text': 'Медиана-линия,соединяющая вершину треугольника с серединой его противоположной стороны', 'right': 1},
{'text': 'Сумма углов прямоугольника-180 градусов', 'right': 0},
{'text': 'В прямоугольном треугольнике самая большая сторона-гипотинуза', 'right': 1},
{'text': 'биссектриса делит стороны пополам', 'right':0}
]
cur_q = 0
points = 0
label_title = Label(w, text = 'Тестирование по знаниям геометрии', font = ('Arial',24), fg = 'black', bg = 'yellow')
label_title.place(width = 700, height = 50, x = 0,y = 0)
fact = Message(w, text = facts[cur_q]['text'], font = ('Arial',14), width = 680, borderwidth=0)
fact.configure(justify=CENTER)
fact.place(x=20, y=70)
var = IntVar()
true = Radiobutton(w, text = 'Правда',variable=var,value = 1)
true.place(x = 10, y = 120)
false = Radiobutton(w, text = 'Ложь',variable=var, value = 0)
false.place(x = 10,y = 170)
b = Button(w, text = 'Ответить', font = ('Arial',24), fg = 'black', command = check)
b.place(x = 250,y = 200)
w.mainloop()
Сохраните эти файлы в один и тот же каталог. Запускать нужно файл main.py
Игорь Верхушин
Спасибо большое
Скотчем склей
Похожие вопросы
- Помогите пожалуйста исправить мой код на языке питон
- Помогите пожалуйста написать полный код!!!
- Помогите пожалуйста переделать код на Питоне
- Помогите пожалуйста найти ошибку в коде, третий день голову ломаю
- Помогите пожалуйста написать код
- Помогите исправить ошибку в коде. Python
- ПОМОГИТЕ НАЙТИ ОШИБКУ В КОДЕ (выводит наибольшее и наименьшее а среднее нет)
- Задача 10. Игра «Компьютер угадывает число» язык кода Python помогите пожалуйста
- Python. Помогите пожалуйста с кодом
- Помогите пожалуйста с кодом. Python