QWidget *widgetMain = new QWidget()
// 加入一个输入框和按钮
QLineEdit *lineEdit = new QLineEdit(widgetMain)
QPushButton *btn = new QPushButton(widgetMain)
// 用水平布局将这2个控件框起,并且置于界面顶部
QHBoxLayout *horLayout = new QHBoxLayout()
horLayout->addWidget(lineEdit, 4)
horLayout->addWidget(btn, 1) // 设置布局比例为4:1
// 然后添加一个全局布局控件
QVBoxLayout *verLayout = new QVBoxLayout(widgetMain)
verLayout->addLayout(horLayout)// 加入刚才的输入组,底部添加d簧
verLayout->addStretch()
// --------- 基本界面创建完成 -------------- //
// 关联处理动态创建
int nCnt = lineEdit->text().toInt() // 输入的个数
for (int i = 0 i < nCnt i++) {
QLabel *label = new QLabel(widgetMain)
// 插入之前的布局
label->setText(QString("动态创建label %1).arg(i + 1))
verLayout->insertWidget(1 + i, label)
}
// 大功告成
// 备注,以上代码纯手工,写法或其他错误请自行修改,仅作参考
¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥实现方法如下: 构造函数中加入: QTimer *timer = new QTimer(this)connect(timer,SINGAL(timeout()),this,SLOT(timer_deal_slot_function()))槽函数这样写:(获取系统时间) QDateTime dateTime = QDateTime::currentDateTime()int y=dateTime.date().year()int m=dateTime.date().month()int d=dateTime.date().day()QString strTime=dateTime.time().toString()ui->label->setText(strTime+" "+QString::number(y)+"/"+QString::number(m)+"/"+QString::number(d))//显示时间格式为例如 12:24:33 2008/8/28 ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥#ifndef WIDGET_H#define WIDGET_H
#include <QtGui/QWidget>
#include <QPushButton>
#include <QLabel>
#include <QHBoxLayout>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0)
~Widget()
QPushButton *clearNO,*addNO
QLabel *label
QHBoxLayout *qhboxlayout
private slots:
void clearNOhandle()
void addNOhandle()
}
#endif // WIDGET_H
///////////widget.cpp
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
clearNO =new QPushButton("CLEAR")
addNO =new QPushButton("ADD")
label =new QLabel("0")
qhboxlayout =new QHBoxLayout(this)
qhboxlayout->addWidget(label)
qhboxlayout->addWidget(clearNO)
qhboxlayout->addWidget(addNO)
connect(clearNO,SIGNAL(clicked()),this,SLOT(clearNOhandle()))
connect(addNO,SIGNAL(clicked()),this,SLOT(addNOhandle()))
}
void Widget::addNOhandle(){
QString nostr
int no
nostr = label->text()
no = nostr.toInt()
no++
nostr.setNum(no)
label->setText(nostr)
}
////////main函数
void Widget::clearNOhandle(){
label->setText("0")
}
Widget::~Widget()
{
}
#include <QtGui/QApplication>
#include "widget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv)
Widget w
w.show()
return a.exec()
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)