Chinaunix首页 | 论坛 | 博客
  • 博客访问: 365144
  • 博文数量: 36
  • 博客积分: 2071
  • 博客等级: 大尉
  • 技术积分: 797
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-20 12:08
文章分类
文章存档

2011年(2)

2010年(34)

我的朋友
QT

分类: C/C++

2010-11-22 11:25:28

Qt常用的部件及相关函数
Qwidget类:
setEnabled(bool)控制使能
setDisabled(bool)输入使能
width() 窗口宽度
height()窗口高度
close()关闭
show()显示
hide()隐藏
 
QFont类:
QFont font("Helvetica",12,QFont::Bold)
setFont(font) 字体设置方式
QLcdNumber类:
setNumDigits()位数设置
display()内容显示
QTimer类:
start()启动定时
timeout() 到时信号
QString类:
toInt()字符串转整形
toAScii 16位转字符串转8位
number()字符串转数字
fromAscii()8位字符串转16位
 
 
#include "mywidget.h"
#include "ui_mywidget.h"
#include
#include

#define Print qDebug()<<__FILE__<<__LINE__<<":" //输出指定文件行号;

MyWidget::MyWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MyWidget)
{
    ui->setupUi(this);
    qDebug()<<"hello"<size();
    this->resize(1000,500);
    //this->setEnabled();

    ui->label->resize(130,89);
   Print<<"hello"<size();
    this->move(200,200); //移动窗口相对桌面坐标

    ui->pushButton->move(20,20);//移动按键相对主窗口的坐标

    ui->pushButton->setEnabled(false);//窗口使能关闭

    this->setEnabled(false);
    ui->lcdNumber->hide();//隐藏lcdNumber窗口

    ui->lcdNumber->show();//显示lcdNumber窗口

    ui->lcdNumber->display(54);
    this->stringTest();
}

MyWidget::~MyWidget()
{
    delete ui;
}
void MyWidget::stringTest()
{
     QString str = "";
     str.append("123");
     qDebug()<     qDebug()<     ui->label->setText(str);//打印Label的信息

     qDebug()<     qDebug()<<"Int to string"<     QString str2 = QString("in str arg %1 %2")
                    .arg("kkkk")
                    .arg("8888888");
     qDebug()<<"str2="<     QFont font;
     font.setPointSize(52);
     ui->label->setFont(font);

}
 
布局:设定部件在整个窗口的位置和大小。
Qt:中常用的几种布局方式:
绝对布局 setGeometry();
手工布局方式 resizeEvent();
布局管理器方式:QLayout
QHBoxLayout 水平布局管理器
QVBoxLayout 垂直布局管理器
QGridLayout 网格布局管理器
 
使用布局管理器的优点
窗口根据策略自适应大小
一层一层的管理所有窗口部件
布局管理器布局的实现过程
1创建水平、垂直、网格布局管理器
Layout = new QHBoxLayout(QWidget*)
注意:要制定父类,即给哪个主窗口安装布局管理器
或者:Widget(主窗口)->setLayout(Layout)
对窗口部件位置的设置
Layout->addWidget(Qwidget*)
添加需要的布局的窗口部件
Layout->addLayout(QLayout*)
添加需要的布局的布局
Layout->addItem(QLayoutItem *)
添加需要的弹簧条

注意点:
管理器是基于窗口的。
一个窗口只能安装一个布局管理器
add 函数会改变部件之间额父子关系
布局排列根据add的先后顺序
对窗口部件大小的设定
通过窗口部件的大小策略(sizePolicy)
作用:告诉布局管理器该窗口部件自身应该如何被拉伸或者压缩
如:设置水平为:Preferred,垂直为Minimun
 
pushButton->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Minimum);
其它选项:Fixed、Maximum、Expanding、Ignored
注意:布局内的部件大小会相互影响
通过sizeHint()函数可以得到默认的大小提示的大小
阅读(4888) | 评论(0) | 转发(1) |
0

上一篇:理解哈希表

下一篇:Qt信号与槽

给主人留下些什么吧!~~