QT初学 常用控件(Label pushbotton radio Slider...)代码创建方式

#include "widget.h"
#include "qlabel.h"
#include "QVBoxLayout"
#include "QHBoxLayout"
#include "QLineEdit"
#include"QCompleter"
#include"QTextEdit"
#include"QPushButton"
#include"QRadioButton"
#include"QComboBox"
#include"QGroupBox"
#include"QSlider"
#include"QTabWidget"
#include"QDebug"


void Widget::label_string(QString str)
{
    qDebug()<<str;
}

void Widget::lineEdit_string(QString str)
{
   qDebug()<<str;
}

void Widget::textEdit_string()
{
    QTextEdit *edit=(QTextEdit*)sender();
      qDebug()<<edit->toPlainText();
}

void Widget::closeTab(int i)
{
    QTabWidget *tab =(QTabWidget*)sender();
    tab->removeTab(i);
}

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{

    QVBoxLayout *vLayout_1 = new QVBoxLayout;
    QHBoxLayout *hLayout_1 = new QHBoxLayout;
    QHBoxLayout *hLayout_2 = new QHBoxLayout;

    //QLable

    QLabel *qlable=new QLabel;
    // qlable->setText("<font color = red>HELLO WORLD</font>");
    // qlable->setStyleSheet("QLabel{font:bold 24pix;color:green}");
    qlable->setText("<a href=www.baidu.com>网址</a>");
    vLayout_1->addWidget(qlable);
    connect(qlable,SIGNAL(linkActivated(QString)),this,SLOT(label_string(QString)));
    this->setLayout(vLayout_1);
    //QLable

    //QLineEdit

    QLineEdit *linEdit = new QLineEdit;
    linEdit->setCompleter(new QCompleter(QStringList()<<"你好!"<<"你好不好啊?"<<"我不好"));
    vLayout_1->addWidget(linEdit);
    connect(linEdit,SIGNAL(textChanged(QString)),this,SLOT(lineEdit_string(QString)));
    this->setLayout(vLayout_1);
    //QLineEdit


    //QTextEdit
        QTextEdit* textEdit=new QTextEdit;
       // textEdit->setText("<table border=1><tr><th>学号<th>姓名<th>班级"
         //                 "<tr><td>1001<td>张三<td>141"
          //                "<tr><td>1002<td>李四<td>142");
        textEdit->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
        vLayout_1->addWidget(textEdit);//textEdit
        connect(textEdit,SIGNAL(textChanged()),this,SLOT(textEdit_string()));
         this->setLayout(vLayout_1);
    //QTextEdit


//    QPushButton *btn=new QPushButton;
//    btn->setText("按钮");
//    vLayout_1->addWidget(btn);
//    this->setLayout(vLayout_1);
    // QpushButton

    // QRadioButton

        QRadioButton *radio1 = new QRadioButton("男");
        QRadioButton *radio2 = new QRadioButton("女");
        vLayout_1->addWidget(radio1);
        hLayout_1->addWidget(radio2);
        vLayout_1->addLayout(hLayout_1);
        connect(radio1,&QRadioButton::toggled,[](bool bl){qDebug()<<bl;});
        this->setLayout(vLayout_1);
   // QRadioButton

    //QComboBox
        QComboBox *combo = new QComboBox;
        combo->addItem("南京");
        combo->addItems(QStringList()<<"上海"<<"无锡");
        combo->setEditable(true);
        vLayout_1->addWidget(combo);
        connect(combo,SIGNAL(currentTextChanged(QString)),this,SLOT(lineEdit_string(QString)));

        this->setLayout(vLayout_1);
    //QComboBox


    //QGroupBox

    QGroupBox *group = new QGroupBox("按钮盒");
    QPushButton *btn_1 = new QPushButton("确认");
    QPushButton *btn_2 = new QPushButton("取消");
    hLayout_2->addWidget(btn_1);
    hLayout_2->addWidget(btn_2);
    group->setLayout(hLayout_2);
    vLayout_1->addWidget(group);
    this->setLayout(vLayout_1);
    //QGroupBox

    //QSlider
    QSlider *slider = new QSlider;
    slider->setMaximum(100);
    slider->setMinimum(0);
    vLayout_1->addWidget(slider);
    this->setLayout(vLayout_1);
    //QSlider


 //QTabWidget
    QTabWidget *tab= new QTabWidget;
    QPushButton *btn4=new  QPushButton("but1");
    QPushButton *btn5=new  QPushButton("but2");
    tab->addTab(btn4,"tab1");
    tab->addTab(btn5,"tab2");
    tab->setTabsClosable(true);
    vLayout_1->addWidget(tab);
    connect(tab,SIGNAL(tabCloseRequested(int)),this,SLOT(closeTab(int)));

    this->setLayout(vLayout_1);
}

Widget::~Widget()
{

}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值