2013-07-09 2 views
0

정말 간단한 것을 만들고 싶지만 저는 C++과 Qt를 처음 사용합니다.Qt의 위젯 : 배경색 변경 onclick

일부 위젯을 클릭하면이 클릭 된 위젯의 배경색과 특정 이름을 가진 다른 위젯의 배경색을 변경하고 싶습니다. 위젯에는 onclick()이 없습니다. 나는 mousePressEvent와 같은 다른 것을 사용해야만하지만, 어떻게해야할지 모르겠다.

답변

1

저는 C++ 및 Qt를 처음 사용합니다.

아마도 C++ GUI Programming with Qt 4과 같은 Qt 서적에서부터 시작해야합니다.

위젯에는 onclick()이 없습니다. 나는 것은 내가 mousePressEvent 같은 다른 무언가를 사용할 필요가

예, 특정 문제에 대한, 당신은 QWidget::mousePressEvent() 방법을 재정의 할 수

class MyWidget : public QWidget { 
... 
protected: 
    void mousePressEvent (QMouseEvent * event); 
} 
다음
void MyWidget::mousePressEvent(QMouseEvent * event) { 
    // do whatever you want when the mouse button is clicked, e.g. 
    // modify the palette of the widget to change the background color 
} 

이 샘플 응용 프로그램 (Icon의를 편집기) 비슷한 것을 수행합니다 : http://files.itslearning.com/data/764/2405/qt4/ch05lev1sec2.html

+0

고마워요,하지만 어떻게 부탁을 할 수 디자이너에서 만든 내 위젯을 연결할 수 있습니다 그렇지? –

+0

Designer에서'QWidget'을 가져 와서 ** 사용자 정의 위젯으로 ** 승격 시키십시오. 전체 예제는 http://www.tinesoft.com/qt/use-custom-widgets-with-qt-designer-promotion-technique를 참조하십시오. –

+0

Danke schön 당신은 생명의 은인입니다. –