본문 바로가기

프로그래밍48

[PySide6] styleSheet 사용방법 - QPushButton (1) pyside6의 기본 버튼 디자인 이렇게 생겼습니다. (QPushButton) 깔끔하게 생겼습니다. 하지만 더욱 이쁘게 꾸미거나 디자인을 변경하고 싶을때 사용 할 때 이용할수 있는 것이 바로 styleSheet입니다. styleSheet는 Designer에서 마우스 우클릭 styleSheet 바꾸기에서 설정할 수 있습니다. border border는 테두리를 디자인 할 수 있습니다. QPushButton{ border:1px solid #000000; } border:[두께(px), 선종류, 색상] 으로 기본적인 테두리를 변경 할수 있습니다. 여기서 테두리를 둥글게 설정하고 싶으면 border-radius를 설정하면 됩니다. QPushButton{ border:1px solid #000000; borde.. 2023. 12. 19.
pyside6 Event Filter 라벨 같은 위젯은 Click 시그널이 없기때문에 이벤트 필터를 정의해서 사용할수 있다. (응용하면 여러가지 가능) def Click(widget): class Filter(QObject): Clicked= Signal() def eventFilter(self, watched: QObject, event: QEvent) -> bool: if watched == widget and event.type() == QEvent.MouseButtonPress: self.Click.emit() return True return False filter = Filter(widget) widget.installEventFilter(filter) return filter.Click Click(self.lable).conne.. 2023. 12. 13.
문자열안에 문자열 찾기 파이썬의 내장함수인 find를 사용하여 찾을수 있습니다. ! text = "안녕하세요" print(text.find("안녕")) find 함수의 리턴값이 -1이라면 해당 문자열이 존재 하지 않는 것이고 -1이 아닌 다른 int 값이라면 해당 문자열시작의 인덱스 값입니다. 안녕이라는 문자열은 0번째 인덱스부터 시작함으로 리턴값을 0입니다. 만약 text.find("하") 였다면 "하" 문자열의 인덱스값인 2가 리턴됩니다. 2023. 8. 10.
static_cast static_cast 형 변환 연산자는 다음의 형태를 갖는다.(dynamic_cast 연산자와 동일한 형태이다.) static_cast(expr) 그리고 static_cast 연산자를 사용하는 우리들에게 컴파일러는 다음과 같이 이야기한다. "좋아 ! 요도 클래스의 포인터 및 참조형 데이터를 기초 클래스의 포인터 및 참조형 데이터로뿐만 아니라, 기초 클래스의 포인터 및 참조형 데이터도 유도 클래스의 포인터 및 참조형 데이터로 아무런 조건 없이 형 변환시켜 줄게, 하지만 그에 대한 책임은 네가 져야해!" #include class Car { private: int fuelGauge; public: Car(int fuel) : fuelGauge(fuel) { } void ShowCarState() { std:.. 2023. 2. 14.
dynamic_cast dynamic_cast 형 변환 연산자는 다음의 형태를 갖는다. dynamic_cast(expr) 즉, 사이에 변환하고자 하는 자료형의 이름을 두되, 객체의 포인터 또는 참조형이 와야하며, () 사이에는 변환 대상이 와야 한다. 그리고 요구한 형 변환이 적절한 경우에는 형 변환된 데이터를 반환하지만, 요구한 형 변환이 적절하지 않은 경우에는 컴파일 시 에러가 발생한다. 물론 여기서 말하는 적절한 형 변환은 다음의 경우를 뜻한다. "상속 관계에 놓여 있는 두 클래스 사이에서 듀오 클래스의 포인터 및 참조형 데이터를 기초 클래스의 포인터 및 참조형 데이터로 형 변환 하는 경우" #include class Car { private: int fuelGauge; public: Car(int fuel) : fuel.. 2023. 2. 14.
C++ 의 예외처리 메커니즘 C++ 은 구조적으로 예외를 처리할 수 있는 메커니즘을 제공한다. 이 메커니즘을 이용하면, 코드의 가독성과 유지 보수성을 높일 수 있다. 예외의 처리를 프로그램의 일반적인 흐름에서 독립시키는 것이 가능하기 때문이다. C++의 예외처리 메커니즘 이해 : try와 catch 그리고 throw의 이해 예외 처리 메커니즘과 관련해서 익숙해져야 할 세 가지 키워드는 다음과 같다. try 예외를 발견한다. catch 예외를 잡는다. throw 예외를 던진다. try 블록 try 블록은 예외발생에 대한 검사의 범위를 지정할 때 사용된다. 즉, try 블록 내에서 예외가 발생하면, 이는 C++의 예외처리 메커니즘에 의해서 처리가 된다. try { // 예외발생 예상지역 } catch 블록 catch 블록은 try 블록.. 2023. 2. 10.
반응형