2014-10-22 2 views
0

내 응용 프로그램/위젯에 대한 테마를 qt embedded에 포함하는 방법,이 url에서 다음 지침을 따릅니다. 어쩌면 내가 수행이 존재하는 파일을 어떤내 Qt 위젯 응용 프로그램에 테마 사용

Qt dark orange stylesheet

int main(int argc, char *argv[]) 
{ 
    QString file_path = QCoreApplication::applicationDirPath() + "/theme.css"; 

    QApplication a(argc, argv); 
    QApplication::setStyle("plastique"); 

    MainWindow w; 
    QFile style_file(file_path); 
    if(style_file.open(QIODevice::ReadOnly)) 
    { 
     qDebug() << "Readin file OK!"; 
     w.setStyleSheet(style_file.readAll()); 
     style_file.close(); 
    } 
    w.show(); 

    return a.exec(); 
} 

나는 또한 동일한 경로에 "theme.css"파일을 업로드해야 놓친 이유하지만 확실하지가 작동하지 않습니다.

+0

시도는 절대 경로 –

+0

확인을주는 : 여기

은 예입니다. – danielfranca

답변

0

. QFile으로 파일을 열고 내용을 읽고이를 스타일 시트로 설정하십시오. 이 파일을 찾는 않다면

QFile style_file("path/to/stylesheet/darkorange.stylesheet"); 
if(style_file.open(QIODevice::ReadOnly)) 
    this->setStyleSheet(style_file.readAll()); 
+0

당신이 제안했지만 여전히 수정되지 않은 질문을 보았습니다. ps 또한 스타일 시트의 이름을 변경했습니다. –

+0

@ Power-Mosfet * 작동하지 않음 * 의미가있을 수 있습니다. 더 구체적으로 말하십시오. 무엇이 실패합니까? 파일 열기가 실패하면'file_path'의 값을 확인하십시오. – thuga

+0

입력 해 주셔서 감사합니다. 테마 파일의 내용을 확인했습니다. 그 파일은 내가 모르는 빈 파일 이었지만 어쨌든 나는 그것을 덮어 썼습니다. 올바른 파일로 대체하고 무엇이 작동하는지 추측합니다. –

1

스타일 시트 파일에 대한 절대 경로를 통과하십시오 : 당신은 파일, QWidget::setStyleSheet에없는 경로를 스타일 시트의 내용을 넣어 야지

QCoreApplication::applicationDirPath() + QString("darkorange.stylesheet");