QT5控件-QPushButton和QFocusFrame(按钮和焦点框)

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QPushButton>
#include <QFocusFrame>

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();

    QPushButton* btn[10];
    QFocusFrame* btn_frame ;
public slots:
    void btn_clicked();
};

#endif // MAINWINDOW_H
#include "mainwindow.h"
#include <QtDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    this->resize(400,300);
    this->centralWidget();

    int ypos = 30 ;

    for(int i=0;i<3;i++)
    {
        btn[i] = new QPushButton(QString("第%1个按钮").arg(i),this);
        btn[i]->setGeometry(10,ypos,300,40);

        ypos += 50 ;
    }

    for(int i=0;i<3;i++)
    {
        connect(btn[i],SIGNAL(clicked(bool)),SLOT(btn_clicked()));
    }

    btn_frame = new QFocusFrame(this);
    btn_frame->setWidget(btn[0]);
    btn_frame->setAutoFillBackground(true);
}

MainWindow::~MainWindow()
{

}

void MainWindow::btn_clicked()
{
    qDebug()<<"触发clicked事件";
}
#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

 

QFocusFrame也可以将其他控件包含在里面

posted @ 2016-02-22 17:27  红莲教主  阅读(4648)  评论(0编辑  收藏  举报