2012-08-15 1 views
1

Qt 4.7을 사용하고 Qt 스타일 시트를 응용 프로그램에 적용하려고합니다. 테두리 이미지를 사용하여 here을 언급 한대로 "있는 그대로"왼쪽 모서리로 이미지를 늘릴 수 있습니다. 어떻게 작동해야하는지에 대한 good example입니다. 불행히도 나는 같은 결과를 얻을 수 없습니다. 보존 된 모서리 대신에 저는 이미지의 중간 부분을 잘라내어 반복합니다. 코드에 실수가 있습니까? 아니면 Qt에 구현되지 않았습니까? (gui 디자이너를 통해 MainWindow에 추가 된 버튼).테두리 이미지를 늘리는 동안 모퉁이 유지하기 Qt 스타일 시트 사용하기

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 
    a.setStyleSheet("QPushButton{ border-image: url(:/border-image-marked.png) 25 30 10 20 repeat repeat; }"); 

    MainWindow w; 
    w.show(); 

    return a.exec(); 
} 

이미지는 위의 예에서 가져온 것입니다. Direct link.

p.s. QML의 BorderImage에서 잘 작동합니다.

답변

1

현재 존재하지 않는 QPushButton에 styleSheet를 적용하려고합니다. 이 속성은 QAbstractItemView 서브 클래스, QAbstractSpinBox 서브 클래스, QCheckBox, QComboBox, QFrame, QGroupBox, QLabel, QLineEdit, QMenu를, QMenuBar에서 지원

:

http://qt-project.org/doc/qt-4.8/stylesheet-reference.html#border-image-prop에 따르면 단지 다음과 같은 요소는이 CSS 속성을 지원 , QPushButton, QRadioButton, QSplitter, QTextEdit 및 QToolTip.

+0

[ "border-image"] (http://qt-project.org/doc/qt-4.8/stylesheet-reference.html#border-image-prop) 속성을 적용하려고합니다. "배경". 설명서에는 QPushButton이 지원한다는 내용이 나와 있습니다. 그리고 QApplication :: setStyleSheet()를 사용하여 모든 버튼에 대해 작업해야합니다. –

+0

안녕하세요. @vkjr. 이미 내 메시지에 쓴 것처럼 QPushButton은 지원되는 항목 중 하나입니다. 링크가 잘못되었습니다 (복사 - 붙여 넣기 오류). 나는 그것이 지원되지 않는다고 결코 말하지 않았다. 그러나 여기의 문제는 다릅니다. 존재하지 않는 QPushButton에 적용하려고합니다. 귀하의 코드에는 아무 것도 없습니다. 스타일 시트를 적용 할 QPushButton을 만들지 않았습니다. 먼저 생성 한 다음 적용해야합니다. – Phil

+0

버튼은 MainWindow에 속하며 UI 디자이너와 함께 추가됩니다. 나는 꽤 명백한 생각 때문에 이것을 언급하지 않았다. –

관련 문제