首页 > 其他分享 >qt如何将下拉框的框设置为圆角矩形

qt如何将下拉框的框设置为圆角矩形

时间:2024-05-22 09:19:19浏览次数:16  
标签:圆角 颜色 qt QComboBox 样式表 设置 下拉框

在 Qt 中,可以使用样式表(QSS)来设置下拉框的外观,包括圆角矩形的样式。以下是一个例子:

// 在 C++ 代码中设置样式表
QComboBox {
    border-radius: 8px; /* 设置圆角半径 */
    background-color: #FFFFFF; /* 设置背景颜色 */
    color: #333333; /* 设置文字颜色 */
    padding: 5px 10px; /* 设置内边距 */
    border: 1px solid #CCCCCC; /* 设置边框样式 */
}

QComboBox::drop-down {
    border-width: 0; /* 去除下拉按钮的边框 */
    width: 20px; /* 设置下拉按钮的宽度 */
    background-color: transparent; /* 设置下拉按钮的背景颜色为透明 */
}

QComboBox::down-arrow {
    image: url(:/icons/arrow_down.png); /* 设置下拉按钮的图标 */
}

QComboBox QAbstractItemView {
    border-radius: 8px; /* 设置下拉列表的圆角半径 */
    background-color: #FFFFFF; /* 设置下拉列表的背景颜色 */
    selection-background-color: #E6E6E6; /* 设置选中项的背景颜色 */
}

这个样式表包含了以下几个部分:

  1. QComboBox: 设置了下拉框的背景颜色、文字颜色、内边距和边框样式,并且设置了圆角半径为 8 像素。
  2. QComboBox::drop-down: 去除了下拉按钮的边框,并设置了它的宽度和背景颜色。
  3. QComboBox::down-arrow: 设置了下拉按钮的图标。
  4. QComboBox QAbstractItemView: 设置了下拉列表的背景颜色、圆角半径和选中项的背景颜色。

你可以根据需要调整这些样式属性,例如改变圆角半径、颜色等,以达到你想要的效果。

要在 Qt 代码中使用这个样式表,你可以使用以下方式:

// 在 C++ 代码中应用样式表
QComboBox* comboBox = new QComboBox(this);
comboBox->setStyleSheet(styleSheet);

这样就可以将圆角矩形样式应用到下拉框上了。

标签:圆角,颜色,qt,QComboBox,样式表,设置,下拉框
From: https://www.cnblogs.com/donghao99/p/18205462

相关文章

  • Qt 动画播放之QMovie类
    主要是用到QMovie类实现在事件触发时开启动画播放效果(需要注意的是,这个动画播放默认是循环播放的,如果不做特殊处理动画会一直播放)1QMovie*movie=newQMovie("aaa.gif");2ui->movieLabel->setMovie(movie);3movie->start();//启动gif图片4//movie->......
  • qt之点的绘制示例demo
    #include"mainwindow.h"#include"ui_mainwindow.h"#include<QPainter>#include<QColor>QColorm_color;intm_x=0;intm_y=0;intm_w=0;intm_h=0;MainWindow::MainWindow(QWidget*parent):QMainWindow(parent)......
  • Qt 程序启动画面QSplashScreen
    QSplashScreen是Qt框架提供的一个类,用于在应用程序启动时显示一个带有文本和图像的启动画面(SplashScreen)。使用QSplashScreen类,你可以在应用程序启动时显示一个自定义的启动画面,以提供更好的用户体验。这个类提供了一些方法和属性,可以让你设置启动画面的文本、图像和其......
  • qt中添加多个UI界面,并在其他文件中调用该UI界面
    一、概述qt创建一个新项目时,会创建一个属于mainwindow'的主ui界面,这时如果想要创建多个窗口,可以有三种方法。第一种:使用代码创建一个新窗口,优点是灵活,缺点是麻烦,其中控件和布局都需要代码来创建。第二种:在ui设计界面使用tabwidget控件来达到多个窗口的效果,不过这种方法只能......
  • qt拖动窗口
    voida::mousePressEvent(QMouseEvent*event){if(event->button()==Qt::LeftButton&&event->pos().y()<(this->height()-mainWidget->height())){m_dragging=true;m_dragStarPos=event->pos();}}voida::......
  • QT使用串口通信点击主界面通信阻塞
    1.问题导入在使用QT进行串口上位机开发时遇到鼠标点击主界面导致串口接收数据阻塞,无法继续在QT控件中更新接收到的数据。2.解决办法使用多线程:将串口通信放入子线程中。`QSerialPort*UARTDevide;//串口UART*newUART;//串口类QThreadUARTThred;//串口线程newUART->mo......
  • CLON + QT + CMAKE debug 不打印 (控制台不输出)
    原因:CMAKE设置了WIN32_EXECUTABLETRUE这表示了要生成一个GUI程序,而且WindowsGUI会禁用控制台输出将set_target_properties(aaPROPERTIESWIN32_EXECUTABLETRUE)修改为set_target_properties(aaPROPERTIESWIN32_EXECUTABLEFALSE)或者手动创建控制台:`//未......
  • QT基础语法与控件
    1.基础使用纯正的开源版本QT使用C++来实现QT使用QT可以使C++项目可视化本身也是C++的一个库允许跨平台QT特征面向对象,模块化设计调用,所有QT控件可继承控件之间的通信,signalslot友好的联机帮助,函数参数手册自定义控件设计QTCreator编译器集成开发环境IDE直接下载QT......
  • MQTT详解以及实际操作
    目录1MQTT1.1MQTT介绍1.1.1简介1.1.2特点和应用1.1.3为什么要用MQTT协议1.2MQTT控制报文的结构1.2.1固定报文头(FixedHeader)1.2.2可变报文头(VariableHeader)1.2.3有效负荷和消息类型1.2.4消息质量(QoS)1.4搭建MQTT服务1.5SpringBoot搭建提供端1.5.1pom.xml1.5.2修改......
  • Pyqt6&PySide6 事件与事件的处理函数
    什么是事件?事件是程序收到外界的输入,处于某种状态时自动发送的信号。事件有固定的类型,每种类型有自己的处理函数,用户只要重写这些函数,即可达到特定的目的。通过事件可以用一个控件监测另外一个控件,并可过滤被监测控件发出的事件。事件的类型与处理函数事件的概念与实列外界对P......