qcheckbox 订阅
QCheckBox 展开全文
QCheckBox
信息
操作系统
iOS
开发语言
Objective-C
开源协议
Public Domain
QCheckBox
一个Check Box(多选框)的实现,简单好用。继承自UIButton。支持点击文字选中。可以自定义不同状态下的图片,文字颜色。 [Code4App.com]
收起全文
精华内容
下载资源
问答
  • QCheckBox

    2018-09-14 13:40:00
    the QCheckBox widget provides a checkbox with a text label a QCheckBox is an option button that can be switched on or off QSizePolicy grabWindow 转载于:...

    the QCheckBox widget provides a checkbox with a text label

    a QCheckBox is an option button that can be switched on or off 

     

    QSizePolicy

     

    grabWindow

     

    转载于:https://www.cnblogs.com/Blue-Moniter4/p/9646075.html

    展开全文
  • Qt 之 QCheckBox

    万次阅读 多人点赞 2016-07-07 20:23:30
    简述QCheckBox继承自QAbstractButton,它提供了一个带文本标签的复选框。QCheckBox(复选框)和QRadioButton(单选框)都是选项按钮。这是因为它们都可以在开(选中)或者关(未选中)之间切换。区别是对用户选择的...

    简述

    QCheckBox继承自QAbstractButton,它提供了一个带文本标签的复选框。

    QCheckBox(复选框)和QRadioButton(单选框)都是选项按钮。这是因为它们都可以在开(选中)或者关(未选中)之间切换。区别是对用户选择的限制:单选框定义了“多选一”的选择,而复选框提供的是“多选多”的选择。

    尽管在技术上可以通过复选框来实现单选框的行为,反之亦然,但还是强烈建议使用众所周知的约定。

    | 版权声明:一去、二三里,未经博主允许不得转载。

    详细描述

    QButtonGroup可以用来在视觉上把许多复选框组织在一起。

    只要复选框被选中或者清除,都会发射一个stateChanged()信号。如果想在复选框状态改变的时候触发一个行为,请连接这个信号,可以使用 isChecked()来查询复选框是否被选中。

    除了常用的选中和未选中两个状态,QCheckBox还可选地提供了第三种状态(半选)来表明“没有变化”。当需要给用户一个选中或者未选中复选框的选择时,这是很有用的。如果需要第三种状态,可以通过setTristate()来使它生效,并使用checkState()来查询当前的切换状态。

    和QPushButton一样,复选框可以显示文本或者图标。文本可以通过构造函数或者setText()来设置,图标可以通过setIcon()来设置。

    QCheckBox *checkbox = new QCheckBox("C&ase sensitive", this);

    这个例子中,快捷键为Alt+a,详情请参阅QShortcut文档。要显示一个实际的符号,使用“&&”。

    重要的继承函数:text()、setText()、pixmap()、setPixmap()、accel()、setAccel()、isToggleButton()、setDown()、isDown()、isOn()、checkState()、 autoRepeat()、isExclusiveToggle()、group()、setAutoRepeat()、toggle()、pressed()、released()、clicked()、toggled()、checkState()、stateChanged()。

    共有函数

    • Qt::CheckState checkState() const
      返回复选框的选中状态。如果不需要三态的支持,可以使用QAbstractButton::isChecked(),它返回一个布尔值。

    • bool isTristate() const
      复选框是否为一个三态复选框。

      默认的是false,也就是说复选框只有两个状态。

    • void setCheckState(Qt::CheckState state)
      设置复选框的选中状态。如果不需要三态的支持,可以使用QAbstractButton:setChecked(),它接受一个布尔值。

    • void setTristate(bool y = true)
      设置复选框为一个三态复选框。

    信号

    • void stateChanged(int state)
      当复选框状态发生改变,这个信号就会被发射。即:用户选中或者取消选中。

    示例

    三态复选框

    下面,我们实现一个三态复选框,并监听状态变化。

    效果

    这里写图片描述

    源码

    构造一个复选框QCheckBox,然后使用setTristate()开启三态模式。

    QCheckBox *pCheckBox = new QCheckBox(this);
    m_pLabel = new QLabel(this);
    
    m_pLabel->setText("Click CheckBox...");
    pCheckBox->setText(QString::fromLocal8Bit("三态复选框"));
    
    // 开启三态模式
    pCheckBox->setTristate();  
    
    // 连接信号槽
    connect(pCheckBox, SIGNAL(stateChanged(int)), this, SLOT(onStateChanged(int)));

    槽函数,判断当前复选框状态,其中包括:选中(Qt::Checked)、半选(Qt::PartiallyChecked)、未选中(Qt::Unchecked)。

    void MainWindow::onStateChanged(int state)
    {
        if (state == Qt::Checked) // "选中"
        {
            m_pLabel->setText("Checked");
        }
        else if(state == Qt::PartiallyChecked) // "半选"
        {
            m_pLabel->setText("PartiallyChecked");
        }
        else // 未选中 - Qt::Unchecked
        {
            m_pLabel->setText("Unchecked");
        }
    }

    QSS

    复选框样式。

    QCheckBox{
            spacing: 5px;
            color: white;
    }
    QCheckBox::indicator {
            width: 17px;
            height: 17px;
    }
    QCheckBox::indicator:enabled:unchecked {
            image: url(:/Images/checkBox);
    }
    QCheckBox::indicator:enabled:unchecked:hover {
            image: url(:/Images/checkBoxHover);
    }
    QCheckBox::indicator:enabled:unchecked:pressed {
            image: url(:/Images/checkBoxPressed);
    }
    QCheckBox::indicator:enabled:checked {
            image: url(:/Images/checkBoxChecked);
    }
    QCheckBox::indicator:enabled:checked:hover {
            image: url(:/Images/checkBoxCheckedHover);
    }
    QCheckBox::indicator:enabled:checked:pressed {
            image: url(:/Images/checkBoxCheckedPressed);
    }
    QCheckBox::indicator:enabled:indeterminate {
            image: url(:/Images/checkBoxIndeterminate);
    }
    QCheckBox::indicator:enabled:indeterminate:hover {
            image: url(:/Images/checkBoxIndeterminateHover);
    }
    QCheckBox::indicator:enabled:indeterminate:pressed {
            image: url(:/Images/checkBoxIndeterminatePressed);
    }

    连接stateChanged()信号和槽函数,当用户点击复选框时,状态发生改变就会调用槽函数。

    那么,如果我们不是手动在界面上点击,如何执行槽函数呢?

    这时,有些人就会说这很简单啊,看connect就清楚了,直接发射stateChanged()信号或直接调用槽函数:

    emit pCheckBox->stateChanged(Qt::PartiallyChecked);
    onStateChanged(Qt::PartiallyChecked);

    这当然可以。这里我想说的是除了这种方式外,还有木有其它方式呢?我们追朔到QCheckBox的基类QAbstractButton,它里面有一系列的信号和函数,我们可以尝试一下。

    经过试验,我们归结了两类,分别是可触发和不可触发槽函数的:

    • 不可触发槽函数:
    emit pCheckBox->clicked(true);
    emit pCheckBox->toggled(true);
    emit pCheckBox->pressed();
    emit pCheckBox->released();
    • 可触发槽函数:
    pCheckBox->animateClick();
    pCheckBox->click();
    pCheckBox->toggle();
    pCheckBox->setChecked(true);
    pCheckBox->setCheckState(Qt::PartiallyChecked); // QCheckBox自身接口

    也就是说,通过调用这些信号或函数,我们可以很容易判定其是否可以触发stateChanged()信号,从而调用槽函数onStateChanged()。

    开关效果

    我们来实现一个iphone中常见的开关效果 - 多选。

    效果

    这里写图片描述

    源码

    构建复选框QCheckBox,然后将它们添加至按钮组QButtonGroup中。

    QHBoxLayout *pLayout = new QHBoxLayout();
    m_pButtonGroup = new QButtonGroup(this);
    
    // 设置不互斥
    m_pButtonGroup->setExclusive(false);
    for (int i = 0; i < 3; ++i)
    {
        QCheckBox *pCheckBox = new QCheckBox(this);
    
        // 设置文本
        pCheckBox->setText(QString::fromLocal8Bit("切换%1").arg(i + 1));
    
        pLayout->addWidget(pCheckBox);
        m_pButtonGroup->addButton(pCheckBox);
    }
    pLayout->setSpacing(10);
    pLayout->setContentsMargins(10, 10, 10, 10);
    
    setLayout(pLayout);
    
    // 连接信号槽
    connect(m_pButtonGroup, SIGNAL(buttonClicked(QAbstractButton*)), this, SLOT(onButtonClicked(QAbstractButton*)));

    槽函数,用来判断当前点击的按钮,以及获取按钮组各个按钮的选中状态。

    void MainWindow::onButtonClicked(QAbstractButton *button)
    {
        // 当前点击的按钮
        qDebug() << QString("Clicked Button : %1").arg(button->text());
    
        // 遍历按钮,获取选中状态
        QList<QAbstractButton*> list = m_pButtonGroup->buttons();
        foreach (QAbstractButton *pCheckBox, list)
        {
            QString strStatus = pCheckBox->isChecked() ? "Checked" : "Unchecked";
            qDebug() << QString("Button : %1 is %2").arg(pCheckBox->text()).arg(strStatus);
        }
    }

    QSS

    复选框样式

    QCheckBox{
        spacing: 2px;
        color: white;
    }
    QCheckBox::indicator {
        width: 45px;
        height: 30px;
    }
    QCheckBox::indicator:unchecked {
        image: url(:/Images/switchOff);
    }
    QCheckBox::indicator:unchecked:hover {
        image: url(:/Images/switchOffHover);
    }
    QCheckBox::indicator:unchecked:pressed {
        image: url(:/Images/switchOffPressed);
    }
    QCheckBox::indicator:checked {
        image: url(:/Images/switchOn);
    }
    QCheckBox::indicator:checked:hover {
        image: url(:/Images/switchOnHover);
    }
    QCheckBox::indicator:checked:pressed {
        image: url(:/Images/switchOnPressed);
    }

    上面,我们通过调用QButtonGroup的setExclusive(false)来设置按钮组中的复选框不互斥(可以多选)。

    如上,我们使用了QButtonGroup,仅仅为了演示复选框实现单选功能(只需设置setExclusive(true)打开互斥即可)。即使这样,如之前所言 - 强烈建议使用众所周知的约定。所以,如果要实现单选功能,建议选择QRadioButton。

    更多参考

    展开全文
  • QCheckBox使用示例

    2017-09-27 18:13:45
    这个小demo主要演示了如何使用Qt的QCheckBox和QButtonGroup,主要用的技术点为QCheckBox的三态属性(tristate)、QButtonGroup的排他属性(exclusive)以及Qt布局。
  • QCheckBox实现选择框变大

    千次阅读 2017-06-29 14:26:55
    QCheckBox
       QCheckBox *checkbox=new QCheckBox;
        checkbox->setStyleSheet("QCheckBox{ background:transparent}\
                                QCheckBox::indicator {width: 40px; height: 40px; }\
                                QCheckBox::indicator:unchecked{background:#EEE8CD}\
                                QCheckBox::indicator:checked{background:url(:/main/fundus_ui/user/dg.png)}");
    

    // ui->tableWidget->setCellWidget(i,0,checkbox);
    上面是代码:
    利用qss来实现将选择框变大;
    先设置高宽,设置背景,设置图标
    其中,图片就是一个选择框打钩的图片

    展开全文
  • QCheckBox样式表

    千次阅读 2019-11-28 23:50:52
    QCheckBox { Color:red; Background-color:rgb(0,0,0); } //选择框 QCheckBox::indicator { Width:13px; Height:13px; } //未选中状态的选择框 QCheckBox::indicator:unchecked { } QCheckBox::...

    QCheckBox

    {

    Color:red;

    Background-color:rgb(0,0,0);

    }

     

    //选择框

    QCheckBox::indicator {

    Width:13px;

    Height:13px;

    }

    //未选中状态的选择框

    QCheckBox::indicator:unchecked

    {

    }

    QCheckBox::indicator:unchecked :hover

    {未选中状态下的鼠标悬停

    }

    QCheckBox::indicator:unchecked:pressed

    {未选中状态下的点击

    }

     

    //选中状态的选择框

    QCheckBox::indicator:checked

    {

    }

    QCheckBox::indicator:checked :hover

    {选中状态下的鼠标悬停

    }

    QCheckBox::indicator:checked:pressed

    {选中状态下的点击

    }

     

    QCheckBox::indicator:indeterminate:hover

    {

    }

    QCheckBox::indicator: indeterminate:pressed

    {

    }

    展开全文
  • Qt QCheckBox详解

    2020-11-20 17:12:17
    一、QCheckBox 1. 常用方法 QCheckBox 继承于QAbstractButton,支持快捷键功能。 void setText(const QString &text):设置文本内容。 QString text() const:获取文本内容。 bool isChecked() const:判断是否...
  • QCheckBox控件

    2018-04-08 10:01:00
    一个QCheckBox会有2种状态:选中和为选中。它由一个选择框和一个label组成,常常用来表示应用的某些特性是启用或不启用。 在下面的例子中,我们创建了一个选择框,它的状态变化会引起窗口标题的变化。 示例的执行...
  • QCheckBox

    2016-04-05 21:27:22
    QCheckBox窗口部件提供一个带文本标签的复选框。QCheckBox和QRadioButton都是选项按钮。这是因为它们都可以在开(选中)或者关(未选中)之间切换。它们的区别是对用户选择的限制。单选框定义了“多选一”的选择,而...
  • 简单明了QCheckBox

    2020-04-03 17:22:24
    1. QCheckBox * checkBox = new QCheckbox("标签内容", 父窗口) 2. checkBox->checkState();被选择返回1,否则返回0 3. checkBox->setIcon(QIcon(":/*.png"));设置CheckBox文字前的图片,如下图 ...
  • Qt之QCheckBox

    2020-10-14 11:04:22
    QCheckBox继承自QAbstractButton,它提供了一个带文本标签的复选框。 QCheckBox(复选框)和QRadioButton(单选框)都是选项按钮。这是因为它们都可以在开(选中)或者关(未选中)之间切换。区别是对用户选择的...
  • QTableView插入QCheckBox复选框,表头插入复选框,表头复选框与其他行复选框关联。
  • pyqt4文档阅读(4.1):QCheckBox

    千次阅读 2016-08-24 12:06:21
    QCheckBox
  • QCheckBox,QLineEdit

    2018-03-14 10:15:27
    # QCheckBox(text) 构造函数,也就是初始化,text是显示的文本信息 checkbox = QCheckBox(text) 设置文本信息 checkbox.setText(text) 设置状态为是否处于点击的状态 checkbox.setChecked...
  • QCheckBox&QButtonGroup

    2018-11-11 16:22:12
    刚看完QCheckBox与QButtonGroup,其实这两个控件平时都很常见,觉得很有用,QCheckBox就是复选框,而QButtonGroup就是对复选框进行分组和布局的(暂且这么认为吧)。下面的代码都直接声明定义在一起了,省的来回切换...
  • QCheckBox和QPushButton一样,复选框可以显示文本或图标。是一种”多选多”的选择。 除了常用的选中和未选中的两种状态,QCheckBox还提供了第三种状态(半选中)来表明”没有变化”。 import sys from PyQt5.QtCore ...
  • QT QCheckBox (一)

    2020-10-28 13:22:14
    QCheckBox{ spacing: 2px; color: white; } QCheckBox::indicator { width: 45px; height: 30px; } QCheckBox::indicator:unchecked { image: url(:/Images/switchOff); } QCheckBox::indicator:unchecked:...
  • Qcheckbox的用法记录

    2019-08-07 11:51:48
    一、signals void stateChanged(int state) 二、操作函数 bool isChecked()const void setChecked(bool) ...#ifndef QCHECKBOX_TEST1_H #define QCHECKBOX_TEST1_H #include <QtGui/QMainWindow> #i...
  • 在QTableView中设置QCheckBox 头文件:checkboxdelegate.h #ifndef CHECKBOXDELEGATE_H #define CHECKBOXDELEGATE_H #include <QStyledItemDelegate> class CheckBoxDelegate:public QStyledItemDelegate...
  • 窗体部件之QCheckBox

    2017-07-13 17:16:02
    窗体部件之QCheckBox
  • 复选按钮QCheckBox

    千次阅读 2019-08-01 23:50:53
    QCheckBox类继承自QAbstractButton类,它提供了一组带文本标签的复选框,用户可以选择多个选项。和QPushButton一样,复选框可以显示文本或者图标,其中文本可以通过构造函数或者setText()来设置;图标可以通过setIcon()来...
  • Qt常用类QCheckBox

    千次阅读 2017-10-10 18:19:03
    QCheckBox 类代表复选钮,它继承了 QAbstractButton 类,因此也有其全部的属性、信号和槽。    构造   QCheckBox 支持以下构造函数: [plain] view plain copy ...
  • 前期准备: (1)建立一个成员变量: *QListWidget pListWidget =nullptr; (2)这里假设已经在ui建立了一个对象名为...用来往已有QComboBox中添加QCheckBox,参数number就是QCheckBox的数目; (2)void slot_sta
  • QCheckBox("Hello", self) self.cb2 = QCheckBox("You", self) self.cb3 = QCheckBox("Are", self) self.cb4 = QCheckBox("My", self) self.cb5 = QCheckBox...
  • QCheckBox 的按钮响应

    2017-12-03 08:40:00
    Qt中QCheckBox的按键响应如下,其中checkbox为对象名: void YourClass::on_checkbox_toggled(bool state) { // Do something here } 本文转自博客园Grandyang的博客,原文链接:QCheckBox 的按钮响应,如需转载请...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 832
精华内容 332
关键字:

qcheckbox