QT开发中文网

QRect rect(0,0,1440,48); this->setStyleSheet("Rectangle#rect:{color:#001031; border.color:00a6ff;}");

在你提供的代码片段中,有几个需要澄清和修正的地方。看起来你想使用 Qt 的样式表来设置一个矩形(QRect),但是样式表的语法不符合 Qt 的样式表规范。

1. 创建 QRect 和 QWidget

首先,QRect 是用于表示矩形的类,通常不会直接用作 UI 元素。而是应该在 QWidget 中绘制这个矩形。如果你想要在 QWidget 中设置背景颜色和边框,可以通过重写 paintEvent() 方法来实现。

2. 使用样式表

Qt 的样式表应用于 QWidget 的子类,而不是 QRect。如果你有一个自定义的 QWidget 子类,你可以对其使用样式表。

示例代码

下面是一个简单的示例,其中我们创建一个自定义 QWidget,并在其中绘制一个矩形,同时为其设置背景色和边框颜色:

MyRectangleWidget.h

#ifndef MYRECTANGLEWIDGET_H
#define MYRECTANGLEWIDGET_H

#include <QWidget>

class MyRectangleWidget : public QWidget {
    Q_OBJECT

public:
    explicit MyRectangleWidget(QWidget *parent = nullptr);

protected:
    void paintEvent(QPaintEvent *event) override;
};

#endif // MYRECTANGLEWIDGET_H

MyRectangleWidget.cpp

#include "MyRectangleWidget.h"
#include <QPainter>

MyRectangleWidget::MyRectangleWidget(QWidget *parent) : QWidget(parent) {
    this->setFixedSize(1440, 48);
}

void MyRectangleWidget::paintEvent(QPaintEvent *event) {
    Q_UNUSED(event);

    QPainter painter(this);
    
    // 设置填充色
    painter.setBrush(QColor("#001031"));  // 背景色
    painter.drawRect(0, 0, width(), height());  // 绘制矩形
    
    // 设置边框色并绘制边框
    painter.setPen(QColor("#00a6ff")); // 边框颜色
    painter.drawRect(0, 0, width()-1, height()-1); // 绘制边框
}

main.cpp

#include <QApplication>
#include "MyRectangleWidget.h"

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);

    MyRectangleWidget w;
    w.show();

    return a.exec();
}

样式表示例

如果你确实希望通过 Qt 样式表来进行某种样式设置(而不涉及直接绘图),可以考虑如下方式:

this->setStyleSheet("background-color: #001031; border: 1px solid #00a6ff;");

这个将会使得当前 QWidget 背景变为深蓝色,并且给它添加一个浅蓝色的边框。

总结

  • 如果需要手动控制绘图,请使用 QPainter
  • 使用 Qt 样式表时确保选定了正确的控件类型,并且遵循正确的语法。
  • 在你的具体需求中选择适合的方法来实现视觉效果。


    内容由零声教学AI助手提供,问题来源于学员提问
目录导航
  • 1. 创建 QRect 和 QWidget
  • 2. 使用样式表
  • 示例代码
    • MyRectangleWidget.h
    • MyRectangleWidget.cpp
    • main.cpp
  • 样式表示例
  • 总结
  • 本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
    转载请注明出处:https://qt.0voice.com/?id=12946

    分享:
    扫描分享到社交APP
    上一篇
    下一篇
    发表列表
    游客 游客
    此处应有掌声~
    评论列表

    还没有评论,快来说点什么吧~

    联系我们

    在线咨询: 点击这里给我发消息

    微信号:3007537140

    上班时间: 10:30-22:30

    关注我们
    x

    注册

    已经有帐号?