QT Creator에서 디자인 모드로 위젯을 마우스 오른쪽 버튼으로 클릭하고 "슬롯으로 이동"을 선택하면 위젯의 신호 중 하나에 대한 슬롯 기능이 생성됩니다. 이 연결을 만들려면 connect()
함수를 생성했을 것이라고 생각했지만, 소스 코드에서 그런 것을 찾을 수 없습니다. 위젯의 신호를 슬롯 기능에 연결하는 실제 코드는 어디에 있습니까? 당신이 QtCreator의 디자이너, 이쪽으로부터 출력 중 하나를 사용하는 경우 감사QT Creator에서 Signal to Slot, connect() 함수는 어디에 있습니까?
3
A
답변
3
는 .ui
파일
Qt는 디자이너 UI 파일 양식의 위젯 나무의 XML 표현이며, uic
에 의해 처리되는 입니다 "사용자 인터페이스 컴파일러"
Qt의 UI 형식에서 제공하는 기능 중 하나는 AutoConnect입니다.
uic
은 자동으로 신호와 슬롯을 연결하는 양식의 setupUi()
함수로 코드를 생성합니다. 다음과 같이
작동 방법은 다음과 같습니다
귀하의 슬롯은 다음과 같은 형식을 따라야합니다 :
object-name
이 슬롯을위한 신호를 방출하는 물체의 이름입니다
void on_<object-name>_<signal-name>(<signal-parameters>);
.
나중에 uic
는 = object-name
objectName()
이있는 QObject
가 발견, Qt의 반사 시스템을 사용 QMetaObject::connectSlotsByName(this);
를 호출하는 코드를 생성하고,이 신호가 귀하의 슬롯에 연결되어 있습니다.