Python3 기반 tkinter 텍스트 텍스트 상자와 정보를 표시하는 스크롤 막대

        tkinter로 인터페이스 프로그램을 개발할 때 사용자에게 시기적절한 피드백과 원하는 결과를 제공하기 위해 인터페이스에 정보를 표시해야 하는 경우가 종종 있습니다. 텍스트 컨트롤을 사용하면 다양한 스타일과 속성으로 텍스트를 표시하고 편집할 수 있습니다.일반 텍스트 또는 서식이 지정된 텍스트를 포함할 수 있습니다.또한 사진 포함, 하이퍼링크 표시 및 CSS 서식이 있는 HTML을 지원합니다.

1: 전체 인터페이스

 그것에 사용된 성분:

1, 라디오 버튼 컨트롤:, 라디오 버튼,

2, 텍스트 컨트롤: 텍스트 상자, 디스플레이 정보

3. 스크롤바 컨트롤: 스크롤바

4. 버튼 제어: 버튼

2: 전체 코드 프레임워크

def main(self):
        lb = Label(root, text='可视化工具', \
                #bg='#d3fbfb', \
                fg='olive', \
                font=('华文新魏', 12), \
                width=50, \
                height=2, \
                relief=FLAT)
        lb.place(relx=0.25, rely=0.01)

        var = IntVar()
        var.set(2)
        rd1 = Radiobutton(root, text="func 1", fg='red',variable=var, value=0, command=lambda: self.showResult(var.get()))
        rd1.place(relx = 0.23,rely = 0.2)
        rd2 = Radiobutton(root, text="func 2", fg='blue',variable=var, value=1,command=lambda: self.showResult(var.get()))
        rd2.place(relx = 0.4,rely = 0.2)
        rd3 = Radiobutton(root, text="func 3", fg='green',variable=var, value=2,command=lambda: self.showResult(var.get()))
        rd3.place(relx = 0.57,rely = 0.2)

        rd4 = Radiobutton(root, text="func 4", fg='DeepPink',variable=var, value=3, command=lambda: self.showResult(var.get()))
        rd4.place(relx = 0.23,rely = 0.25)
        rd5 = Radiobutton(root, text="func 5", fg='SlateBlue',variable=var, value=4,command=lambda: self.showResult(var.get()))
        rd5.place(relx = 0.4,rely = 0.25)
        rd6 = Radiobutton(root, text="func 6", fg='Brown',variable=var, value=5,command=lambda: self.showResult(var.get()))
        rd6.place(relx = 0.57,rely = 0.25)

        startButton = Button(root, text='Start',font=('华文新魏', 20),  activebackground = "green", command=lambda: self.startFunc(var.get()))
        startButton.place(relx=0.35, rely=0.89, relwidth=0.3, relheight=0.1)

시작 버튼을 클릭하여 Text 컨트롤에 정보를 표시하면 Text 컨트롤이 스크롤 막대에 바인딩됩니다.

def startFunc(self,selectFunc):
        self.collectInfo = [1,2,3,4,5,6]
        if not self.collectInfo:
            return
        if self.startButtonFirst == 0:
            self.validInfo = Text(root, width=100, height=19)#, undo=True, autoseparators=False
            self.validInfo.place(relx=0.01, rely=0.32)
            # 放到窗口的右侧, 填充Y竖直方向
            self.scroll = Scrollbar()
            self.scroll.pack(side=RIGHT,fill=Y)
            # 两个控件关联
            self.scroll.config(command=self.validInfo.yview)
            self.validInfo.config(yscrollcommand=self.scroll.set)
        self.validInfo.delete('1.0','end')
        if selectFunc == 0:
            self.validInfo.insert(INSERT, )
        elif selectFunc == 1:
            self.validInfo.insert(INSERT, self.collectInfo[1])
        elif selectFunc == 2:
            self.validInfo.insert(INSERT, self.collectInfo[2])
        elif selectFunc == 3:
            self.validInfo.insert(INSERT, self.collectInfo[3])
        elif selectFunc == 4:
            self.validInfo.insert(INSERT, self.collectInfo[4])
        elif selectFunc == 5:
            self.validInfo.insert(INSERT, self.collectInfo[5])
        self.startButtonFirst = 1

정보를 표시하려면 라디오 버튼을 클릭하십시오.

def showResult(self,selectFunc):
        if self.startButtonFirst == 0:
            return
        self.validInfo.delete('1.0','end')
        if selectFunc == 0:
            self.validInfo.insert(INSERT, self.collectInfo[0])
        elif selectFunc == 1:
            self.validInfo.insert(INSERT, self.collectInfo[1])
        elif selectFunc == 2:
            self.validInfo.insert(INSERT, self.collectInfo[2])
        elif selectFunc == 3:
            self.validInfo.insert(INSERT, self.collectInfo[3])
        elif selectFunc == 4:
            self.validInfo.insert(INSERT, self.collectInfo[4])
        elif selectFunc == 5:
            self.validInfo.insert(INSERT, self.collectInfo[5])

3: 텍스트 컨트롤

1. 기본 속성

속성 설명하다
자동 분리기 기본값은 True이며 실행 취소 작업을 수행할 때 "구분 기호"를 자동으로 삽입할지 여부를 나타냅니다(그 역할은 작업 레코드를 분리하는 것임).
내보내기 선택 기본값은 True이며 선택한 텍스트를 클립보드에 복사할 수 있는지 여부를 의미하고 False이면 허용되지 않음을 의미합니다.
삽입 배경 삽입 커서의 색상을 설정합니다. 기본값은 BLACK입니다.
삽입 테두리 너비 삽입 커서의 테두리 너비를 설정합니다. 기본값은 0입니다.
삽입 시간 이 옵션은 커서의 깜박임 빈도를 제어합니다(꺼짐 상태).
삽입시간 이 옵션은 커서의 깜박임 빈도를 제어합니다(밝은 상태).
배경 선택 선택한 텍스트의 배경색을 지정합니다. 기본값은 시스템에 의해 결정됩니다.
선택 테두리 너비 선택한 텍스트의 배경색을 지정합니다. 기본값은 0입니다.
전경 선택 선택한 텍스트의 글꼴 색상을 지정합니다. 기본값은 시스템에서 지정합니다.
세트그리드 기본값은 False입니다. 부울 값을 지정하여 그리드 제어를 활성화할지 여부를 결정합니다.
간격1 각 줄과 텍스트 제어 텍스트 블록의 상단 사이에 공백을 지정하고 자동 줄바꿈을 무시하도록 주의하며 기본값은 0입니다.
간격2 줄 바꿈을 무시하고 Text 컨트롤의 텍스트 블록에서 줄 사이의 공백 간격을 지정합니다. 기본값은 0입니다.
간격3 자동 줄 바꿈을 무시하고 텍스트 구성 요소의 각 줄과 텍스트 하단 사이의 공백을 지정합니다. 기본값은 0입니다.
기본적으로 8자의 너비로 정의되는 Tag로 설명된 텍스트 블록에서 Tab 버튼의 기능을 사용자 정의합니다. 예를 들어 tabs=('1c', '2c', '8c')는 너비가 처음 3개의 탭은 1cm, 2cm, 8cm입니다.
실행 취소 이 매개 변수의 기본값은 False로 Text 컨트롤의 "실행 취소" 기능이 꺼져 있음을 의미하고 True이면 켜져 있음을 의미합니다.
포장하다 텍스트의 한 줄 길이가 width 옵션에서 설정한 너비를 초과할 때 자동 줄 바꿈 여부를 설정하는 파라미터로, 파라미터 값은 none(자동 줄 바꿈 없음), char(문자 단위로 자동 줄 바꿈), word(자동으로 줄 바꿈)입니다. 단어로 포장)
xscrollcommand 이 매개변수는 수평 방향으로 위아래로 미끄러지는 것을 의미하는 Scrollbar와 연관됩니다.
yscroll 명령 이 매개변수는 세로 방향으로 좌우로 슬라이딩하는 Scrollbar와 연결됩니다.

2. 기본 방법

방법 설명하다
bbox(인덱스) 지정된 인덱스에 있는 문자의 경계 상자를 반환합니다. 반환 값은 (x,y,width,height) 형식의 4-튜플입니다.
edit_modified() 이 메서드는 수정된 플래그를 쿼리하고 설정하는 데 사용됩니다(이 플래그는 Text 구성 요소의 내용이 변경되었는지 여부를 추적하는 데 사용됨).
edit_redo() 마지막 "실행 취소" 작업을 "재실행"합니다. 실행 취소 옵션이 False로 설정된 경우 이 방법은 유효하지 않습니다.
edit_separator() 완료된 작업이 완료되었음을 나타내는 데 사용되는 작업 레코드를 저장하는 스택에 "구분 기호"를 삽입합니다. 실행 취소 옵션이 False로 설정된 경우 이 방법은 유효하지 않습니다.
get(인덱스1, 인덱스2) 특정 위치 또는 리터럴 범위의 문자를 반환합니다.
image_cget(인덱스, 옵션) 인덱스 매개변수로 지정된 이미지 객체에 내장된 옵션 option의 값을 반환하고 주어진 위치에 내장된 이미지 객체가 없으면 TclError 예외를 발생시킵니다.
이미지_만들기() index 매개변수로 지정된 위치에 이미지 객체를 삽입하고 이미지 객체는 Tkinter의 PhotoImage 또는 BitmapImage의 인스턴스여야 합니다.
삽입(색인, 텍스트) index 매개변수로 지정한 위치에 문자열을 삽입한다.첫 번째 매개변수는 INSERT(커서 위치에 삽입), END(끝에 삽입)로 설정할 수 있다.
삭제(시작인덱스 [, 종료인덱스]) 특정 위치 또는 텍스트 범위에서 문자를 삭제합니다.
참조(색인) 지정된 인덱스의 텍스트가 표시되면 True를 반환하고 그렇지 않으면 False를 반환합니다.

4: tkinter에서 지원하는 색상 요약

tkinter에는 많은 색상 설정이 있습니다. 여기에 요약이 있습니다. 둘러볼 필요가 없습니다.

  1. '''#FFB6C1 LightPink 라이트 핑크

  2. #FFC0CB 핑크 핑크

  3. #DC143C 크림슨 크림슨/스칼렛

  4. #FFF0F5 LavenderBlush 라벤더

  5. #DB7093 PaleVioletRed 약한 바이올렛 레드

  6. #FF69B4 핫핑크 열정적인 핑크

  7. #FF1493 딥핑크 딥핑크

  8. #C71585 미디엄바이올렛레드 미디엄 바이올렛 레드

  9. #DA70D6 오키드 다크 퍼플/오키드 퍼플

  10. #D8BFD8 Thistle 연꽃

  11. #DDA0DD 플럼 플럼/플럼 퍼플

  12. #EE82EE 바이올렛 바이올렛

  13. #FF00FF 마젠타 마젠타/로즈

  14. #FF00FF 퓨샤 퓨샤 / 랜턴 베고니아

  15. #8B008B DarkMagenta 딥 마젠타

  16. #800080 퍼플 퍼플

  17. #BA55D3 미디엄오키드 미디엄 오키드 바이올렛

  18. #9400D3 DarkViolet 다크 바이올렛

  19. #9932CC DarkOrchid 다크 런 퍼플

  20. #4B0082 인디고 인디고/바이올렛

  21. #8A2BE2 BlueViolet 블루 바이올렛

  22. #9370DB MediumPurple 중간 보라색

  23. #7B68EE MediumSlateBlue 미디엄 다크 블루/미디엄 슬레이트 블루

  24. #6A5ACD SlateBlue 석조 / 판암석

  25. #483D8B DarkSlateBlue 다크 그레이 블루/다크 슬레이트 블루

  26. #E6E6FA 라벤더 라벤더 / 라벤더 라벤더

  27. #F8F8FF 고스트화이트 고스트 화이트

  28. #0000FF 블루 퓨어 블루

  29. #0000CD MediumBlue 미디엄 블루

  30. #191970 MidnightBlue 미드나이트 블루

  31. #00008B DarkBlue 어두운 색

  32. #000080 네이비 네이비 블루

  33. #4169E1 RoyalBlue 로얄 블루 / 로얄 블루

  34. #6495ED CornflowerBlue 수레국화 블루

  35. #B0C4DE LightSteelBlue 브라이트 스틸 블루

  36. #778899 LightSlateGray 브라이트 블루 그레이/브라이트 슬레이트 그레이

  37. #708090 SlateGray 그레이 돌/슬레이트 그레이

  38. #1E90FF DodgerBlue 플래시 블루/닷지 블루

  39. #F0F8FF AliceBlue 앨리스 블루

  40. #4682B4 SteelBlue 스틸 블루/아이언 블루

  41. #87CEFA LightSkyBlue 밝은 하늘색

  42. #87CEEB SkyBlue 하늘색

  43. #00BFFF DeepSkyBlue 딥스카이블루

  44. #ADD8E6 라이트블루 브라이트 블루

  45. #B0E0E6 PowderBlue 파우더 블루/화약 블루

  46. #5F9EA0 CadetBlue 밀리터리 블루/밀리터리 블루

  47. #F0FFFF 아주아주아주

  48. #E0FFFF LightCyan 라이트 시안

  49. #AFEEEE PaleTurquoise 약재보석

  50. #00FFFF Cyan 블루

  51. #00FFFF 아쿠아 라이트 그린/아쿠아

  52. #00CED1 DarkTurquoise 다크 에메랄드

  53. #2F4F4F DarkSlateGray 다크 슬레이트 그레이/다크 슬레이트 그레이

  54. #008B8B DarkCyan 어두운 파란색

  55. #008080 틸 틸 컬러

  56. #48D1CC MediumTurquoise 중간 청록색

  57. #20B2AA LightSeaGreen 라이트 오션 그린

  58. #40E0D0 청록색 에메랄드

  59. #7FFFD4 아쿠아마린 젬스톤 그린

  60. #66CDAA MediumAquamarine 미디엄 젬 그린

  61. #00FA9A 미디엄스프링그린 미디엄 스프링 그린

  62. #F5FFFA 민트크림 페퍼민트 크림

  63. #00FF7F SpringGreen 봄색

  64. #3CB371 MediumSeaGreen 미디엄 씨 그린

  65. #2E8B57 SeaGreen 오션 그린

  66. #F0FFF0 허니듀 허니/멜론

  67. #90EE90 LightGreen 라이트 그린

  68. #98FB98 PaleGreen 약색

  69. #8FBC8F DarkSeaGreen 다크 오션 그린

  70. #32CD32 LimeGreen 플래시 다크 그린

  71. #00FF00 라임 플래시 그린

  72. #228B22 ForestGreen 포레스트 그린

  73. #008000 그린 퓨어 그린

  74. #006400 다크그린 다크그린

  75. #7FFF00 샤르트뢰즈 옐로우 그린/차터 와인 그린

  76. #7CFC00 LawnGreen 잔디 그린/잔디 그린

  77. #ADFF2F GreenYellow 황색

  78. #556B2F DarkOliveGreen 다크 올리브 그린

  79. #9ACD32 옐로우그린 옐로우 그린

  80. #6B8E23 OliveDrab 올리브 브라운

  81. #F5F5DC 베이지 베이지/토프

  82. #FAFAD2 LightGoldenrodYellow 밝은 국화 옐로우

  83. #FFFFF0 아이보리 아이보리

  84. #FFFFE0 LightYellow 라이트 옐로우

  85. #FFFF00 옐로우 퓨어 옐로우

  86. #808000 올리브 올리브

  87. #BDB76B DarkKhaki 다크카키/다크카키

  88. #FFFACD 레몬쉬폰 레몬 실크

  89. #EEE8AA 페일골든로드그레이 국화/블루 유니콘 컬러

  90. #F0E68C 카키 탄/카키 천

  91. #FFD700 골드 골드

  92. #FFF8DC Cornsilk 타마메 병

  93. #DAA520 갈조금금국화 노랑

  94. #B8860B DarkGoldenrod 다크 골든 국화 옐로우

  95. #FFFAF0 플로랄화이트 플로럴 화이트

  96. #FDF5E6 OldLace 구색/오르드레이스

  97. #F5DEB3 위트 라이트 옐로우/위트 컬러

  98. #FFE4B5 모카신 벅스킨/모카신 부츠

  99. #FFA500 오렌지 오렌지

  100. #FFEFD5 파파야휩 파파야/파파야

  101. #FFEBCD BlanchedAlmond 흰 살구색

  102. #FFDEAD NavajoWhite 나바호 화이트/인디지너스 화이트

  103. #FAEBD7 AntiqueWhite 앤티크 화이트

  104. #D2B48C 탠 브라운

  105. #DEB887 벌리우드 원목 컬러

  106. #FFE4C4 비스크 클레이 옐로우

  107. #FF8C00 DarkOrange 다크 오렌지

  108. #FAF0E6 린넨 린넨

  109. #CD853F 페루 페루 컬러

  110. #FFDAB9 PeachPuff 복숭아 고기

  111. #F4A460 SandyBrown 사단색

  112. #D2691E 초콜릿 초콜릿 컬러

  113. #8B4513 SaddleBrown 헤비 브라운/서들 브라운

  114. #FFF5EE 조개 조개

  115. #A0522D 시에나 옐로우 오커

  116. #FFA07A LightSalmon 라이트 연어 살색

  117. #FF7F50 코랄 코랄

  118. #FF4500 OrangeRed 오렌지 레드

  119. #E9967A DarkSalmon 다크미트/연어색

  120. #FF6347 토마토 토마토 레드

  121. #FFE4E1 MistyRose 라이트 로즈/미스트 로즈

  122. #FA8072 연어생고기/연어색깔

  123. #FFFAFA 스노우 스노우 화이트

  124. #F08080 라이트코랄 라이트 코랄 컬러

  125. #BC8F8F RosyBrown 로즈 브라운

  126. #CD5C5C IndianRed 인디언 레드

  127. #FF0000 레드 퓨어 레드

  128. #A52A2A 브라운 브라운

  129. #B22222 FireBrick 내화 벽돌/내화 벽돌

  130. #8B0000 DarkRed 딥 레드

  131. #800000 Maroon 밤색

  132. #FFFFFF 화이트 퓨어 화이트

  133. #F5F5F5 WhiteSmoke 화이트 스모크

  134. #DCDCDC 게인즈버러 라이트 그레이

  135. #D3D3D3 LightGrey 라이트 그레이

  136. #C0C0C0 실버은회색

  137. #A9A9A9 DarkGray 다크 그레이

  138. #808080 그레이 그레이

  139. #696969 DimGray 희미한 회색

  140. #000000 블랙 퓨어 블랙'''

추천

출처blog.csdn.net/qq_27071221/article/details/130654025