zoukankan      html  css  js  c++  java
  • QGroupBox

    QGroupBox窗口部件提供了一个有标题的组合框
    组合框提供一个框架、一个标题和一个键盘快捷键,并且显示在它里面地其它不同窗口部件。标题在上面,键盘快捷键移动键盘焦点到组合框的一个子窗口部件,并且子窗口部件将会排列在这个框架中地一个数组中

    使用它的最简单方式是创建一个为你所想要的列数(或者行数)和方向的组合框,并且然后创建其它窗口部件时,把这个组合框作为父对象

    然而,也可以在构造函数之后改变方向(orientation())和列数(或者行数,columns()),或者忽略所有自动布局支持并且自己来管理所有的这一切。你也可以通过addSpace()把“空白”添加到组合框中

    QGroupBox也让你设置标题(title(),通常在构造函数中设置)和标题对齐方式(alignment())

    Widget::Widget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::Widget)
    {
        QGridLayout *grid = new QGridLayout;
        grid->addWidget(createFirstExclusiveGroup(),0,0);
        grid->addWidget(createSecondExclusiveGroup(),0,1);
        grid->addWidget(createNonExclusiveGroup(),1,0);
    
    
        QWidget *widget = new QWidget;
        widget->setLayout(grid);
        widget->resize(480, 320);
        widget->show();
    }
    
    QGroupBox *Widget::createFirstExclusiveGroup()
    {
        QGroupBox *groupBox = new QGroupBox(tr("Exclusive Radio Buttons"));
        QRadioButton *radio1 = new QRadioButton(tr("&Radio button 1"));
        QRadioButton *radio2 = new QRadioButton(tr("R&adio button 2"));
        QRadioButton *radio3 = new QRadioButton(tr("Ra&dio button 3"));
    
        radio1->setChecked(true);
    
        QVBoxLayout *vbox = new QVBoxLayout;
        vbox->addWidget(radio1);
        vbox->addWidget(radio2);
        vbox->addWidget(radio3);
        vbox->addStretch(1);
        groupBox->setLayout(vbox);
    
        return groupBox;
    }
    
    QGroupBox *Widget::createSecondExclusiveGroup()
    {
        QGroupBox *groupBox = new QGroupBox(tr("E&xclusive Radio Buttons"));
        groupBox->setCheckable(true);
        groupBox->setChecked(true);
    
        QRadioButton *radio1 = new QRadioButton(tr("Rad&io button1"));
        QRadioButton *radio2 = new QRadioButton(tr("Radi&o buttoon2"));
        QRadioButton *radio3 = new QRadioButton(tr("Radio &button3"));
        radio1->setChecked(true);
        QCheckBox *checkBox = new QCheckBox(tr("Ind&ependent checkbox"));
        checkBox->setChecked(true);
    
        QVBoxLayout *vbox = new QVBoxLayout;
        vbox->addWidget(radio1);
        vbox->addWidget(radio2);
        vbox->addWidget(radio3);
        vbox->addWidget(checkBox);
        groupBox->setLayout(vbox);
    
        return groupBox;
    }
    
    QGroupBox *Widget::createNonExclusiveGroup()
    {
        QGroupBox *groupBox = new QGroupBox(tr("No-Exclusive Checkboxes"));
        groupBox->setFlat(true);
    
        QCheckBox *checkBox1 = new QCheckBox(tr("&Checkbox 1"));
        QCheckBox *checkBox2 = new QCheckBox(tr("C&heckbox 2"));
        checkBox2->setChecked(true);
        QCheckBox *tristateBox = new QCheckBox(tr("Tri-&state buttton"));
        tristateBox->setTristate(true);//是否启用三种状态切换
        tristateBox->setCheckState(Qt::PartiallyChecked);//介于Qt::Unchecked和Qt::Checked之间
    
        QVBoxLayout *vbox = new QVBoxLayout;
        vbox->addWidget(checkBox1);
        vbox->addWidget(checkBox2);
        vbox->addWidget(tristateBox);
        vbox->addStretch(1);
        groupBox->setLayout(vbox);
        return groupBox;
    }

    QGroupBox

  • 相关阅读:
    curl: (1) Protocol 'http not supported or disabled in libcurl
    线程-分为两类-用户线程和守护线程
    laypage分页插件的使用
    uploadify上传图片插件的使用
    redis安装
    php连接测试memcached
    pageY、clientY、screenY、offsetY的区别
    audio和video样式兼容
    实现剪切和复制功能
    滚动条样式
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11709719.html
Copyright © 2011-2022 走看看