썸네일 [touGFX]버튼(Button) 색 변경 버튼이 클릭하면 색을 다르게 표현하는 과정이다 버튼에 대한 이미지가 별도로 없어서 touchGFX tutorial에서 사용한 함수를 사용하였다 button은 flex button을 사용하고 색상을 하얀색으로 하였다 box는 색상을 임의로 설정하고 box위에 text를 사용하였고, 또한 배경색과 대비하여 잘 보일 수 있게 하얀색으로 하였다 code generate를 하면 각각의 버튼에 대한 코드가 생성된다 https://power-of-optimism.tistory.com/521 [touchGFX]하나의 스크린(Screen)에 많은 버튼(Botton)의 Interaction 설정 하나의 화면에 다수의 버튼을 설정하고, 각 버튼에 Interaction을 정하는 경우가 있다 이 경우 하나의 화면에 다수의 버튼..
썸네일 [touchGFX]하나의 스크린(Screen)에 많은 버튼(Botton)의 Interaction 설정 하나의 화면에 다수의 버튼을 설정하고, 각 버튼에 Interaction을 정하는 경우가 있다 이 경우 하나의 화면에 다수의 버튼이 있음으로 버튼 별로 Interaction을 설정을 하는데 하나의 설정으로 움직임으로 "add interaction"을 사용하여야 한다 하나의 스크린에 5개의 버튼을 설정하였다 왼쪽 사진은 각각의 Interaction을 설정하는 것이고, 오른쪽 사진은 5개를 설정한 모습을 보인 것이다 프로그램을 보면 5개의 함수가 선언되어 있다 mainScreenViewBase.hpp에 /* * Virtual Action Handlers */ virtual void functionMaster() { // Override and implement this function in mainScreen..
썸네일 [touchGFX]배경색이 없는 버튼(Button) 만들기 및 버튼 크기(Size) 조정 touchGFX를 사용하면서 특정 영역에 대한 클릭을 인식하고 클릭된 버튼에 따라 화면을 전환할 필요가 생겼다 touchGFX의 위젯(Widget)중에 아래처럼 Flex Button을 사용하였다 화면 오른쪽에 나타나는 메뉴에서 "Box with Border"를 누른다 아래와 같은 화면이 추가로 오른쪽 화면 하단에 나온다 위 화면에서 Background colors -> Released, Pressed Border colors -> Released, Pressed를 각각 눌러서 색상을 하얀색으로 변경한다 (각자가 요구하는 버튼 화면 색으로 만든다) 전부 하얀색으로 변경하니 버튼 색도 이에 맞게 변경되어 있다 이제 이렇게 만든 버튼에 내가 원하는 동작을 하도록 Interaction을 추가하면 된다 Flex ..
[python]_tkinter.TclError: invalid boolean operator in tag search expression 화면 GUI를 개발하면서 위와 같은 에러가 나왔다 원인은 canvas.delete(tag 또는 id) 형식을 사용하지 않는 경우에 이런 에러가 나온다 예제를 보면 self.rule_button = ttk.Button(self.Canvas1, compound=tk.CENTER, text="START", style="C.TButton", command= lambda:self.game_screen(), ) self.button1_window = self.Canvas1.create_window(self.screenwidth/2,self.screenheight/6 * 5,\ window=self.rule_button)
[tkinter]canvas에서 button이 삭제되지 않음(canvas 상의 위젯, 아이템 삭제) canvas에서 버튼 삭제가 되지않아 4시간 이상을 투자했다 원인은 프로그램 실수..ㅎㅎ self.button1_window = self.Canvas1.create_window(self.screenwidth/5 * 4,self.screenheight/6 * 5,\ window=self.rule_button) self.button1_window의 값을 확인하니 47이 나왔다 버튼을 삭제하기 위해 사용한 문장에서 self.Canvas1.delete(self.button1_window) self.button1_window의 값을 확인하니 237이 나왔다 id 값이 틀리다....이상하다 확인을 해보니 def one_person_break(self, n = 100): self.button1_window = sel..
[Tkinter] command에서 lambda 사용 버튼이 눌렸을 경우 지정된 함수를 수행하는 경우에 많이 사용된다. 물론 'command' parameter가 있는 곳에는 모두 사용할 수 있다 예) def show_frame(self, Canvas, page_name): ....... 인 경우에 command=lambda:controller.show_frame(self.Canvas1, "PageOne") - controller class에 선언된 show_frame( )을 호출한다. - self.Canvas1, "PageOne" 는 show_frame( )에 전달되는값이다. 참고) lambda를 사용하여 N개의 명령을 수행할 수 있다 아래의 경우는 command=lambda: (print("aaa"), controller.show_frame(self.C..