QTableView에서 사용자 지정 컨트롤을 그려야합니다. 이 컨트롤은 FileChooser와 비슷해야합니다. , QButton처럼 보이는 - -QTableView에서 사용자 정의 컨트롤을 그리는 방법은 무엇입니까?
FileChooser http://www.vision.ee.ethz.ch/computing/sepp-irix/qt-3.0-mo/filechooser.png
QStyleOptionButton button_option;
button_option.state |= QStyle::State_Enabled | QStyle::State_Off;
button_option.rect = PushButtonRect(option); //calculate button rect
button_option.text = "...";
QApplication::style()->drawControl(
QStyle::CE_PushButton,
&button_option,
painter);
위의 코드는 QStyle :: CE_PushButton립니다하지만 Qt는 라이브러리에는 QStyle :: CE_LineEdit가 없습니다. QLineEdit은 어떻게 그릴 수 있습니까?
컨트롤이 항상 표시되어야합니다. drawDisplay (및 drawFocus)를 재정의하려면 위에서 설명한 문제를 해결해야합니다 (QLineEdit를 QStyle :: ControlElement로 그립니다). 그렇지 않습니까? 하지만 다른 방법을 선택합니다. QStyledItemDelegate에서 상속 된 대리자로 paint 및 editorEvent 메서드를 재정의하려고합니다. [체크 박스 제어 예제] (http://stackoverflow.com/questions/3363190/qt-qtableview-how-to-have-a-checkbox-only-column). – meldo