简体   繁体   English

我在使用 tkinter 开发的项目中添加滚动条时遇到问题

[英]I'm having trouble adding a scrollbar to my project that I developed with tkinter

` `

import tkinter
import warnings

warnings.simplefilter(action='ignore', category=FutureWarning)

from tkinter import *
import pandas as pd
from tkinter import ttk
from datetime import datetime

#tkinter
master = Tk()
master.title("Anket")
master.state('zoomed')

#new mainframe
frame = tkinter.Frame(master)
frame.pack()

#label inputs
Label(frame, text="Katılımcı Ad Soyad").grid(row=1, column=0)
entry2 = Entry(frame)
entry2.grid(row=1, column=1)

Label(frame, text="Katılımcı Yaş").grid(row=2, column=0)
entry3 = Entry(frame)
entry3.grid(row=2, column=1)

Label(frame, text="Eğitim").grid(row=3, column=0)
entry4 = Entry(frame)
entry4.grid(row=3, column=1)

tkinter.Label(frame, text="Önceden VR tecrübeniz var mıydı?").grid(row=4, column=0)
entry5 = tkinter.StringVar()
tkinter.Radiobutton(frame, text="Var", variable=entry5, value="Var").grid(row=4, column=1)
tkinter.Radiobutton(frame, text="Yok", variable=entry5, value="Yok").grid(row=4, column=2)



#label func
def griding_questions(text, row, entry):
    tkinter.Label(frame, text=text).grid(row=row, column=0)
    tkinter.Radiobutton(frame, text="1", variable=entry, value=1).grid(row=row, column=1)
    tkinter.Radiobutton(frame, text="2", variable=entry, value=2).grid(row=row, column=2)
    tkinter.Radiobutton(frame, text="3", variable=entry, value=3).grid(row=row, column=3)
    tkinter.Radiobutton(frame, text="4", variable=entry, value=4).grid(row=row, column=4)
    tkinter.Radiobutton(frame, text="5", variable=entry, value=5).grid(row=row, column=5)


def griding_ipq_questions(text, row, entry):
    tkinter.Label(frame, text=text).grid(row=row, column=0)
    tkinter.Radiobutton(frame, text="1", variable=entry, value=1).grid(row=row, column=1)
    tkinter.Radiobutton(frame, text="2", variable=entry, value=2).grid(row=row, column=2)
    tkinter.Radiobutton(frame, text="3", variable=entry, value=3).grid(row=row, column=3)
    tkinter.Radiobutton(frame, text="4", variable=entry, value=4).grid(row=row, column=4)
    tkinter.Radiobutton(frame, text="5", variable=entry, value=5).grid(row=row, column=5)
    tkinter.Radiobutton(frame, text="6", variable=entry, value=6).grid(row=row, column=6)


def griding_ss_questions(text, row, entry):
    tkinter.Label(frame, text=text).grid(row=row, column=0)
    tkinter.Radiobutton(frame, text="Hiçbiri", variable=entry, value="Hiçbiri").grid(row=row, column=1)
    tkinter.Radiobutton(frame, text="Hafif", variable=entry, value="Hafif").grid(row=row, column=2)
    tkinter.Radiobutton(frame, text="Orta", variable=entry, value="Orta").grid(row=row, column=3)
    tkinter.Radiobutton(frame, text="Şiddetli", variable=entry, value="Şiddetli").grid(row=row, column=4)


def griding_tam_questions(text, row, entry):
    tkinter.Label(frame, text=text).grid(row=row, column=0)
    tkinter.Radiobutton(frame, text="1", variable=entry, value=1).grid(row=row, column=1)
    tkinter.Radiobutton(frame, text="2", variable=entry, value=2).grid(row=row, column=2)
    tkinter.Radiobutton(frame, text="3", variable=entry, value=3).grid(row=row, column=3)
    tkinter.Radiobutton(frame, text="4", variable=entry, value=4).grid(row=row, column=4)
    tkinter.Radiobutton(frame, text="5", variable=entry, value=5).grid(row=row, column=5)
    tkinter.Radiobutton(frame, text="6", variable=entry, value=6).grid(row=row, column=6)
    tkinter.Radiobutton(frame, text="7", variable=entry, value=7).grid(row=row, column=7)


def griding_vas_questions(text, row, entry):
    tkinter.Label(frame, text=text).grid(row=row, column=0)
    tkinter.Radiobutton(frame, text="1", variable=entry, value=1).grid(row=row, column=1)
    tkinter.Radiobutton(frame, text="2", variable=entry, value=2).grid(row=row, column=2)
    tkinter.Radiobutton(frame, text="3", variable=entry, value=3).grid(row=row, column=3)
    tkinter.Radiobutton(frame, text="4", variable=entry, value=4).grid(row=row, column=4)
    tkinter.Radiobutton(frame, text="5", variable=entry, value=5).grid(row=row, column=5)
    tkinter.Radiobutton(frame, text="6", variable=entry, value=6).grid(row=row, column=6)
    tkinter.Radiobutton(frame, text="7", variable=entry, value=7).grid(row=row, column=7)
    tkinter.Radiobutton(frame, text="8", variable=entry, value=8).grid(row=row, column=8)
    tkinter.Radiobutton(frame, text="9", variable=entry, value=9).grid(row=row, column=9)
    tkinter.Radiobutton(frame, text="10", variable=entry, value=10).grid(row=row, column=10)


entry6 = tkinter.IntVar()
griding_questions("1. Bu sistemi sık sık kullanmak isterim.", 5, entry6)

entry7 = tkinter.IntVar()
griding_questions("2.  Bu sistemi gereksiz yere karmaşık buldum.", 6, entry7)

entry8 = tkinter.IntVar()
griding_questions("3.  Sistemin kullanımının kolay olduğunu düşündüm.", 7, entry8)

entry9 = tkinter.IntVar()
griding_questions("4.  Bu sistemi kullanabilmek için teknik bir kişinin desteğine ihtiyacım olacağını düşünüyorum.", 8,
                  entry9)

entry10 = tkinter.IntVar()
griding_questions("5.  Bu sistemdeki çeşitli fonksiyonların iyi bir şekilde entegre olduğunu gördüm.", 9, entry10)

entry11 = tkinter.IntVar()
griding_questions("6.  Bu sistemde çok fazla tutarsızlık olduğunu düşündüm.", 10, entry11)

entry12 = tkinter.IntVar()
griding_questions("7.  Çoğu insanın bu sistemi çok çabuk kullanmayı öğreneceğini hayal ediyorum.", 11, entry12)

entry13 = tkinter.IntVar()
griding_questions("8. Bu sistemi kullanmayı çok hantal (garip) buldum.", 12, entry13)

entry14 = tkinter.IntVar()
griding_questions("9.  Bu sistemi kullanırken kendimi çok güvende hissettim.", 13, entry14)

entry15 = tkinter.IntVar()
griding_questions("10.  Bu sisteme geçmeden önce çok şey öğrenmem gerekiyordu.", 14, entry15)

entry16 = tkinter.IntVar()
griding_ipq_questions("IPQ1.  Bilgisayar tarafından oluşturulan dünyada bir \"orada olma\" duygusuna sahiptim.", 15,
                      entry16)

entry17 = tkinter.IntVar()
griding_ipq_questions("IPQ2.   Bir şekilde sanal dünyanın etrafımı sardığını hissettim.", 16, entry17)

entry18 = tkinter.IntVar()
griding_ipq_questions("IPQ3.  Sadece resimleri algılıyormuş gibi hissettim.", 17, entry18)

entry19 = tkinter.IntVar()
griding_ipq_questions("IPQ4.  Sanal uzayda kendimi mevcut hissetmiyordum.", 18, entry19)

entry20 = tkinter.IntVar()
griding_ipq_questions("IPQ5.  Dışarıdan bir şey çalıştırmak yerine sanal alanda hareket etme duygusu vardı.", 19,
                      entry20)

entry21 = tkinter.IntVar()
griding_ipq_questions("IPQ6.  Sanal uzayda kendimi mevcut (oradaymış gibi) hissettim.", 20, entry21)

entry22 = tkinter.IntVar()
griding_ipq_questions(
    "IPQ7.  Sanal dünyada gezinirken etrafınızdaki gerçek dünyanın ne kadar farkındaydınız? (yani sesler, oda sıcaklığı, diğer insanlar vb.)?",
    21, entry22)

entry23 = tkinter.IntVar()
griding_ipq_questions("IPQ8.  Gerçek çevremin farkında değildim.", 22, entry23)

entry24 = tkinter.IntVar()
griding_ipq_questions("IPQ9.  Yine de gerçek çevreye dikkat ettim.", 23, entry24)

entry25 = tkinter.IntVar()
griding_ipq_questions("IPQ10.  Tamamen sanal dünyanın büyüsüne kapıldım.", 24, entry25)

entry26 = tkinter.IntVar()
griding_ipq_questions("IPQ11.  Sanal dünya size ne kadar gerçek göründü?", 25, entry26)

entry27 = tkinter.IntVar()
griding_ipq_questions("IPQ12.  Sanal ortamdaki deneyiminiz, gerçek dünya deneyiminizle ne kadar tutarlı görünüyordu?",
                      26, entry27)

entry28 = tkinter.IntVar()
griding_ipq_questions("IPQ13.  Sanal dünya size ne kadar gerçek göründü?", 27, entry28)

entry29 = tkinter.IntVar()
griding_ipq_questions("IPQ14.    Sanal dünya gerçek dünyadan daha gerçekçi görünüyordu.", 28, entry29)

entry30 = tkinter.StringVar()
griding_ss_questions("SSQ1.  Genel rahatsızlık", 29, entry30)

entry31 = tkinter.StringVar()
griding_ss_questions("SSQ2.  Tükenmişlik, yorgunluk", 30, entry31)

entry32 = tkinter.StringVar()
griding_ss_questions("SSQ3. Baş ağrısı", 31, entry32)

entry33 = tkinter.StringVar()
griding_ss_questions("SSQ4. Göz yorgunluğu", 32, entry33)

entry34 = tkinter.StringVar()
griding_ss_questions("SSQ5.  Odaklanma zorluğu", 33, entry34)

entry35 = tkinter.StringVar()
griding_ss_questions("SSQ6.  Artan tükürük", 34, entry35)

entry36 = tkinter.StringVar()
griding_ss_questions("SSQ7. Terleme", 35, entry36)

entry37 = tkinter.StringVar()
griding_ss_questions("SSQ8. Mide bulantısı", 36, entry37)

entry38 = tkinter.StringVar()
griding_ss_questions("SSQ9. Konsantrasyon bozukluğu", 37, entry38)

entry39 = tkinter.StringVar()
griding_ss_questions("SSQ10. Baş dolgunluğu", 38, entry39)

entry40 = tkinter.StringVar()
griding_ss_questions("SSQ11. Bulanık görme", 39, entry40)

entry41 = tkinter.StringVar()
griding_ss_questions("SSQ12. Baş dönmesi (gözler açık)", 40, entry41)

entry42 = tkinter.StringVar()
griding_ss_questions("SSQ13. Baş dönmesi (gözler kapalı)", 41, entry42)

entry43 = tkinter.StringVar()
griding_ss_questions("SSQ14. Vertigo, kontrol kaybı", 42, entry43)

entry44 = tkinter.StringVar()
griding_ss_questions("SSQ15. Mide farkındalığı", 43, entry44)

entry45 = tkinter.StringVar()
griding_ss_questions("SSQ16. Geğirme", 44, entry45)

entry46 = tkinter.IntVar()
griding_tam_questions("TAM1.  VR_Locomotion kullanmak, görevleri daha hızlı tamamlamamı sağladı.", 45, entry46)

entry47 = tkinter.IntVar()
griding_tam_questions("TAM2.  VR_Locomotion kullanmak iş performansımı iyileştirdi.", 46, entry47)

entry48 = tkinter.IntVar()
griding_tam_questions("TAM3.  VR_Locomotion kullanmak üretkenliğimi artırdı.", 47, entry48)

entry49 = tkinter.IntVar()
griding_tam_questions("TAM4.  VR_Locomotion kullanmak etkinliğimi artırdı.", 48, entry49)

entry50 = tkinter.IntVar()
griding_tam_questions("TAM5.  VR_Locomotion kullanmak, onunla yapmam gereken şeyleri yapmayı kolaylaştırdı.", 49,
                      entry50)

entry51 = tkinter.IntVar()
griding_tam_questions("TAM6. VR_Locomotion'u faydalı buldum.", 50, entry51)

entry52 = tkinter.IntVar()
griding_tam_questions("TAM7. VR_Locomotion'u kullanmayı öğrenmek kolaydı.", 51, entry52)

entry53 = tkinter.IntVar()
griding_tam_questions("TAM8. VR_Locomotion'un yapmasını istediğim şeyi yapmasını kolay buldum.", 52, entry53)

entry54 = tkinter.IntVar()
griding_tam_questions("TAM9. VR_Locomotion ile etkileşimim açık ve anlaşılırdı.", 53, entry54)

entry55 = tkinter.IntVar()
griding_tam_questions("TAM 10. VR_Locomotion ile esnek bir etkileşim kurdum.", 54, entry55)

entry56 = tkinter.IntVar()
griding_tam_questions("TAM11. VR_Locomotion kullanmakta ustalaşmak benim için kolaydı.", 55, entry56)

entry57 = tkinter.IntVar()
griding_tam_questions("TAM12. VR_Locomotion'un kullanımını kolay buldum.", 56, entry57)

entry58 = tkinter.IntVar()
griding_tam_questions("UMUX1.  VR_Locomotion'ın yetenekleri gereksinimlerimi karşılıyor.", 57, entry58)

entry59 = tkinter.IntVar()
griding_tam_questions("UMUX2. VR_Locomotion'u kullanmak sinir bozucu bir deneyimdir.", 58, entry59)

entry60 = tkinter.IntVar()
griding_tam_questions("UMUX3. VR_Locomotion'un kullanımı kolaydır.", 59, entry60)

entry61 = tkinter.IntVar()
griding_tam_questions("UMUX4. VR_Locomotion ile bir şeyleri düzeltmek için çok fazla zaman harcamak zorundayım.", 60,
                      entry61)

entry62 = tkinter.IntVar()
griding_vas_questions("VAS1: (Kendi kendine hareket) Tüm vücudumun ileriye doğru hareket ettiğini hissettim.", 61,
                      entry62)

entry63 = tkinter.IntVar()
griding_vas_questions("VAS2: (Yürüme hissi) İleriye doğru yürüyormuş gibi hissettim.", 62, entry63)

entry64 = tkinter.IntVar()
griding_vas_questions("VAS3: (Bacak hareketi) Ayaklarım yere çarpıyormuş gibi hissettim.", 63, entry64)

entry65 = tkinter.IntVar()
griding_vas_questions(
    "VAS4 :  Olay yerinde varmışım gibi hissettim  (kişinin gerçek konumunun dışında bir yerde varmış gibi "
    "hissetmesi)  .",
    64, entry65)

Label(frame, text="E-posta Adresi").grid(row=65, column=0)
entry66 = Entry(frame)
entry66.grid(row=65, column=1)

#quit and submit
Button(frame, text='Quit', command=frame.quit).grid(row=5, column=15, pady=4)
Button(frame, text='Submit', command=submit_fields).grid(row=8, column=15, pady=4)

#mainloop
mainloop()

` `

I cannot add with pack to places where grid is used, and with grid to places where pack is used.我无法将with pack添加到使用grid的地方,将with grid添加到使用pack的地方。 I searched the inte.net for a solution and couldn't find much.我在 inte.net 上搜索了解决方案,但找不到太多。 Adding canvas is problematic.添加 canvas 是有问题的。 It requires me to add an extra text, treeframe etc inside the frame.它需要我在框架内添加额外的文本、树框等。 sometimes I can add it with some methods, but this time it doesn't scroll.有时我可以用一些方法添加它,但这次它不滚动。 I'm stuck.我卡住了。

I did not test it.我没有测试它。 Use tkinter.tix.ScrolledWindow .使用tkinter.tix.ScrolledWindow

from tkinter.tix import *
:
:
:
#add this between line 16 to 21.
#new mainframe
frame = tkinter.Frame(master)
frame.pack()

swin = ScrolledWindow(frame, width=500, height=500)
swin.pack()

#label inputs

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM