用qss自定义控件

Qt自带的一些东西,比如,按钮,表格,编辑框,提示框等,不是很美观,这时候我们就需要自定义控件了。

1.建原始控件

新建一个工程,并用设计器拖出一个,checkbox.如下图所示

用qss自定义控件_第1张图片

这就是qt自带的。

2.编写qss

QCheckBox#ckbAutoFillin::indicator:unchecked {
        image: url(:/img/unselected);
}

QCheckBox#ckbAutoFillin::indicator:checked {
        image: url(:/img/selected);
}
该qss定义了该控件的2种状态一种是选择的状态,一种是未选中的状态。用2张图片代替原始控件的选中和未选中的状态。这里我把qss另存为defalt.qss,并 加入资源

3.加载。加以下几行代码,放在主窗口程序

    QFile file(QString(":/img/qss"));
    file.open(QFile::ReadOnly);
    QString qss = QLatin1String(file.readAll());
    qApp->setStyleSheet(qss);

4.运行。如下图示

用qss自定义控件_第2张图片

用qss自定义控件_第3张图片


你可能感兴趣的:(Qt,C++,控件,qt)