qt的一些基础知识

QLabel是QT界面中的标签类,它从QFrame下继承
QLabel *lbl = new QLabel(mainWindow);  
    QFont lbl_font; //QFont 类代表字体,实现在 QtGui 共享库中。 
    lbl_font.setPointSize(16);      //设置字体大小  
    lbl->setFont(lbl_font);  
    lbl->setText("Hello World.");  //设置文字
    lbl->setGeometry(QRect(20, 20, 150, 30)); //设置大小和位置  
    lbl->setFrameStyle(QFrame::Panel | QFrame::Sunken); //设置外观 






QChar
        QChar 类是 Qt 中用于表示一个字符的类,实现在 QtCore 共享库中。QChar 类内部用2个字节的Unicode编码来表示一个字符。
QChar();                   // 构造一个空字符,即'\0'  
QChar(char ch);         // 由字符数据ch构造  
QChar(uchar ch);        // 由无符号字符数据ch构造  
QChar(ushort code);   // 由无符号短整形数据code构造,code是Unicode编码  
QChar(short code);     //由 短整形数据code构造,code是Unicode编码  
QChar(uint code);      // 由无符号整型数据code构造,code是Unicode编码  
QChar(int code);       // 由整型数据code构造,code是Unicode编码  
QChar();                   // 构造一个空字符,即'\0'  
QChar(char ch);         // 由字符数据ch构造  
QChar(uchar ch);        // 由无符号字符数据ch构造  
QChar(ushort code);   // 由无符号短整形数据code构造,code是Unicode编码  
QChar(short code);     //由 短整形数据code构造,code是Unicode编码  
QChar(uint code);      // 由无符号整型数据code构造,code是Unicode编码  
QChar(int code);       // 由整型数据code构造,code是Unicode编码  
bool operator != (QChar c1, QChar c2);    // 判断 c1 是否不等于 c2  
bool operator < (QChar c1, QChar c2);     // 判断  c1 是否小于 c2  
bool operator <= (QChar c1, QChar c2);   // 判断 c1 是否小于等于 c2  
bool operator == (QChar c1, QChar c2);   // 判断 c1  
是否等于c2  
bool operator > (QChar c1, QChar c2);    // 判断 c1 是否大于 c2  
bool operator >= (QChar c1, QChar c2);   // 判断  c1  
是否大于等于 c2  


对于setAlignment(),看函数名就知道是设置对齐方式。比如QLayout中的setAlignment():
bool QLayout::setAlignment(QWidget * w, Qt::Alignment alignment)
就是对窗口w设置对齐方式,你可以看看帮助文档,Qt::Alignment有左对齐、右对齐、居中对齐等等
对于setGeometry(),看函数名应该知道是设置几何信息的。如果你说的是QWidget类中的setGeometry(),那就是设置窗口位置和大小:
void QWidget::setGeometry(int x, int y, int w, int h)
设置窗口的x,y坐标,宽w、高h。






QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);


首先,它是static的,所以我们能够使用类名直接访问到(怎么看都像废话…);然后看它那一堆参数,第一个参数parent,说明它的父组件;第二个参数title,也就是对话框的标题;第三个参数text,是对话框显示的内容;第四个参数buttons,声明对话框放置的按钮,默认是只放置一个OK按钮,这个参数可以使用或运算,例如我们希望有一个Yes和一个No的按钮,可以使用QMessageBox::Yes | QMessageBox::No,所有的按钮类型可以在QMessageBox声明的StandarButton枚举中找到;第五个参数defaultButton就是默认选中的按钮,默认值是NoButton,也就是哪个按钮都不选中。这么多参数,豆子也是记不住的啊!所以,我们在用QtCreator写的时候,可以在输入QMessageBox::information之后输入(,稍等一下,QtCreator就会帮我们把函数签名显示在右上方了,还是挺方便的一个功能!
 


bool QObject::connect(const QObject* sender,const char * signal,const QObject * receiver,const char * member)[static]
 作    用 用户连接信号和槽 参数一 连接的信号发送对象 参数二 连接的信号 参数三 连接的槽对象 参数四 连接的槽 返回值 true为连接成功否则失败。
将信号发送者sender对象中的信号signal与接受者receiver中的member槽函数联系起来。当指定信号signal时必须使用宏SIGNAL(),当指定槽函数时必须使用宏SLOT(),如果发送者与连接者属于同一个对象时,那么在connect调用中接受者参数可以忽略。






 常用的三种布局方法:
(1)使用水平布局类QHBoxLayout;
(2)使用垂直布局类QVBoxLayout;
(3)使用网格布局类QGridLayout。这三种方法可以嵌套使用。




QGridLayout的常用方法
(1)addWidget:


//放置一个控件到一个单元格  
void    addWidget ( QWidget * widget, int row, int column, Qt::Alignment alignment = 0 )  
//如果放置的控件超出一个单元格,则使用该方法  
void    addWidget ( QWidget * widget, int fromRow, int fromColumn, int rowSpan, int columnSpan, Qt::Alignment alignment = 0 )  
  1)row:指放置控件的网格行号(行号从0开始);
    2)colum:指放置控件的网格列号(从0开始);
    3)alignment:对齐方式。
    4)fromRow:指放置控件的起始网格行号;
    5)fromColumn:指放置控件的起始网格列号;
    6)rowSpan:指放置控件占多少行;
    7)columnSpan:指放置控件占多少列。


(2)addLayout


void    addLayout ( QLayout * layout, int row, int column, Qt::Alignment alignment = 0 )  
void    addLayout ( QLayout * layout, int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment = 0 ) 
参数与addWidget类似


(3)setSpacing


void QGridLayout::setSpacing ( int spacing ) 
设置控件水平和垂直之间的间隔。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值