首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为调查问卷python tkinter评分,为问题分配重要性

为调查问卷python tkinter评分,为问题分配重要性
EN

Stack Overflow用户
提问于 2016-11-06 10:07:20
回答 1查看 655关注 0票数 0

嗨,我是python tkinter的初学者,正在开发一个准备好的评估工具的顶峰项目。在某种程度上,我已经编写了代码。我有一些有优先权的问题。以下是示例问题:·20%您的组织是否在去年完成了战略规划流程?(是(5),否(0),可能(1))·10%您是否有内部/内科/行政/临床冠军来推动变革?(是(5),否(0),可能(2.5))

现在,例如,如果用户选择Yes(5)应该乘以20%得到实际分数,然后将所有分数相加得到100分。

我对如何使用结果按钮获得结果感到震惊。以下是我的部分代码:

代码语言:javascript
复制
class PageOne(tk.Frame):

def __init__(self, parent, controller):
    tk.Frame.__init__(self, parent)


    label = tk.Label(self, text="ORGANIZATIONAL READINESS", font=LARGE_FONT)
    label.pack(pady=10,padx=1)


    label1 = tk.Label(self, text = "Has your organization completed a strategic planning process in the last year?")
    label1.pack(pady=10,padx=10)

    var = tk.StringVar()

    R1 = ttk.Radiobutton(self, text = "Yes", variable = var, value = "Yes")
    R2 = ttk.Radiobutton(self, text = "No", variable = var, value = "No")
    R3 = ttk.Radiobutton(self, text = "May be", variable = var, value = "Maybe")
    label1.pack(anchor='w')
    R1.pack(anchor='w')
    R2.pack(anchor='w')
    R3.pack(anchor='w')


    ResultsButton = tk.Button(self, text = "Results")
    ResultsButton.pack(padx=30,pady=10)

    button1 = ttk.Button(self, text="Back to Home",
                    command=lambda: controller.show_frame(StartPage))
    button1.pack()

    progressbar = ttk.Progressbar(self, orient= HORIZONTAL, length= 200)
    progressbar.pack()
    progressbar.config(mode = 'determinate', maximum = 15.0, value = 4.0 )

任何帮助都是非常感谢的。谢谢!:)

EN

回答 1

Stack Overflow用户

发布于 2017-11-02 05:33:46

您需要在ResultsButton中使用command=SOMEFUNCTIONHERE。例如:

代码语言:javascript
复制
ResultsButton = tk.Button(self, text = "Results", command = self.getResults)
ResultsButton.pack(padx=30,pady=10)

现在您需要定义函数self.getResults (注意tk.Button行中没有括号)

代码语言:javascript
复制
def getResults(self): # This is a function inside your PageOne class
    user_answer = var.get() # Gets the value of var based on which radio button was selected
    if user_answer == "Yes":
        # Give them 5 * 0.2 points
    if user_answer == "No":
        # Give them 0 * 0.2 points
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40445332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档