나는 수업이
어떻게 QWidget과 QThread에서 상속받을 수 있습니까? 나는 내가 연결 신호에 대한 오류를 얻을 이상 수행 할 때
class GUI : public QWidget, public QThread
같은 있습니다. The error says Reference to "connect" is ambiguous
. 둘 모두로부터 상속받을 수있는 방법이 있습니까?
고맙습니다.
나는 수업이
어떻게 QWidget과 QThread에서 상속받을 수 있습니까? 나는 내가 연결 신호에 대한 오류를 얻을 이상 수행 할 때
class GUI : public QWidget, public QThread
같은 있습니다. The error says Reference to "connect" is ambiguous
. 둘 모두로부터 상속받을 수있는 방법이 있습니까?
고맙습니다.
수 없습니다. QWidget
과 QThread
은 QObject
에서 (사실상이 아님) 상속됩니다. 따라서 가상 파생물이 없기 때문에 컴파일러를 혼란스럽게하는 QObject
의 사본이 두 개 있습니다. QObject
은 특별히 이렇게 설계되었습니다. 참고 :이 주장이 주위에 가서 어떤 사람이 (지금의 링크를 찾을 수 있습니다,하지만 Google에서 거기있어, 내가 같은 문제가 있었다
편집 : 가장 좋은 방법은 QThread에서 다른 개체를 상속 받아 해당 개체를 GUI
클래스의 멤버로 유지하는 것입니다. 이것은 대부분의 사람들이이 문제에서 해결할 수있는 일종의 해결 방법입니다.
QWidgets
및 GUI 관련 객체가 응용 프로그램 주 스레드와 다른 스레드에 속하지 않습니다. 둘 다 상속해서는 안됩니다. 위젯의 moveToThread()
기능으로도 호출 할 수 없습니다.
이유를 설명하십시오. 할 수 없으므로 (답변을 참조하십시오) 우리는 * 제안 할 작업 *을 알고 싶습니다. 그건 더 많은 정보가 필요해. –
내 프로그램이 firewire를 통해 다른 컴퓨터에서 메시지를받습니다. 수신 된 메시지는 GUI가 읽은 파일로 보내집니다. 하나의 스레드에서 파이어 와이어 메시지를 처리하고 다른 스레드에서 GUI를 처리하려고합니다. – infinitloop