본문 바로가기
728x90
반응형

QWidget3

[QT][C++] QButton Focus 제거 ui->myButton->setFocusPolicy(Qt::NoFocus); 해당 버튼의 포커스가 잡히지 않게 설정한다. QWidget의 함수이므로 상속받은 클래스들은 다 사용가능하다. 적절한 설정값을 찾아서 설정해 주자 Qt::TabFocus : 탭으로 포커스를 가져온다. Qt::ClickFocus : 클릭으로 포커스를 가져온다. Qt::StrongFocus : 탭 과 클릭으로 포커스를 가져온다. * macOS에서는 'Text/List focus mode' 일 때 위젯이 탭 포커스를 수락한다는 표시도 표시됩니다. Qt::WheelFocus : Qt::StrongFocus의기능에 마우스 휠의 사용까지 포커스를 가져온다. Qt::NoFocus : 해당한 위젯은 포커스를 가져오지 않는다. 2022. 10. 28.
[C++][QT] QDialog Stylesheets not work QDialog베이스로 작업도중 내부에있는 컨트롤러의 style sheets를 설정해 주었는데 디자이너에서는 적용된 것 처럼 보이지만 막상 실행을하면 반영되지 않은 상태로 보여지는 경우가 있다. 나 같은 경우는 QDialog 위에 QTreeWidget의 스크롤바 디자인을 바꾸기위에 Style Sheets를 변경하였는데 곧바로 변경되어 적용된 디자이너와는 달리 실행해 보니 변경전 디자인으로 출력이 된 경우였다. 이게 Style Sheets의 설정 문제라고 생각할수 있지만 QWidget 위에 있는 QTreeWidget의 디자인은 제대로 변경되는것을 확인했다. 해결한 방법은 보통 ui 구성을할때 QFrame 하위로 컨트롤러들을 배치하는데 최상위 Frame의 Style Sheets에다가 스크롤 설정을 해주니 해결.. 2022. 10. 24.
[C++][QT] QTableWidget editTriggers 수정 막기 QTableWidget 그리드에서 사용자가 Edit, 즉 수정하는 것을 막고 싶을 때가 있다. 방법 1. ***.ui 디자이너에서 QTableWidget을 선택 후 아래 속성에서 edit Triggers 항목을 찾는다. 기본적으로 DoubleClicked, EditKeyPressed, AnyKeyPressed 세 가지 옵션이 체크되어있다. 체크 일시 해당 동작을 했을 경우 Edit 상태로 그리드가 바뀐다. 그러므로 사용자가 수정사항을 못하게 기능을 막으려면 NoEditTriggers를 체크해주자 ( 체크하면 나머지 체크가 풀린다. ) 이러면 끝. 수정이 안된다. 방법 2. .cpp 코드상에서 위 방법에서 하던 트리거 세팅을 해주면 된다. this->tableWidget->setEditTriggers(QA.. 2022. 10. 20.
728x90
반응형