-1
main.cppにアプリケーションの実行中にスタイルシートファイルをアプリケーション上でリセットするにはどうすればよいですか?
int main(int argc, char *argv[]){
QApplication app(argc, argv);
QFile data("://stylesheet.qss"); // this is a stylesheet file in images.qrc file
QString style;
if (data.open(QFile::ReadOnly))
{
QTextStream styleIn(&data);
style = styleIn.readAll();
data.close();
app.setStyleSheet(style); // I want this line to restart with different style-sheet file
}
app.setWindowIcon(QIcon("://images/BEL.jpg"));
MainWindow w;
w.setFixedSize(500,350);
w.showMaximized();
return app.exec();}
theme.cpp
theme::theme(QWidget *parent) :
QDialog(parent),
ui(new Ui::theme) {
ui->setupUi(this);
ui->apply_button->setDefault(1);
QButtonGroup *radio=new QButtonGroup;
radio->setExclusive(true);
radio->addButton(ui->radio_blue,2);
radio->addButton(ui->radio_grey,3);
connect(radio,SIGNAL(buttonClicked(int)),this,SLOT(function(int)));}
theme::~theme()
{
delete ui;
}
void theme::on_pushButton_2_clicked()
{
this->close();
}
void theme::function(int value)
{ if(value==2){
qDebug()<<"blue";}
else if(value==3){
qDebug()<<"green";}
else
qDebug()<< "error";
}
私はmain.cppにしてtheme.cppや他の多くのファイルを持っています。テーマウィンドウに2つのラジオボタンがあります。私は灰色と青色の両方のための2つのスタイルシートファイルを持っています。私がボタンをチェックすると、main.cppのようにアプリケーション全体に適用されるはずです。
問題は、アプリケーションを起動するときにファイルを1回だけ適用することです。しかし、私は他のボタンをチェックするときにそれを実行させたい。とにかくmain.cppで特定のボタンが押され、そのボタンのスタイルシートファイルを適用してアプリケーションを再起動できるようになったのですか?
あなたの正確な問題は何ですか?あなたはファイルを読むことができませんか?スタイルシートは適用できませんか? –
私の問題の解決を得ました –
答えを提供するか質問を削除してください –