Qt入门

这里不难看出.除了 MultiLineEdit 中的 setText 能够显示多行文字以外.
其他的东西跟 LineEdit 并没有什麽差别.

在 MultiLineEdit 中,我们还能选择些其他的选项.
常用的有, WordWrap, UndoDepth, ReadOnly, overWriteMode. 现在我们把
这些全都在 Property Edit 中选择出来.

WordWarp 选择为 NoWarp
UndoDepth 设定到 255
ReadOnly 为 FALSE
overWriteMode 为 TRUE

这时侯 form1.cpp 中就有了下面这些新的程式码∶

MultiLineEdit1->setWordWrap( QMultiLineEdit::NoWrap );
//设定我们的 MultiLineEdit1 不支援自动断行

MultiLineEdit1->setUndoDepth( 255 );
//设定在这个 MultiLineEdit1 中所输入的数据能够通过 mouse 的 undo 或键盘的 ctrl z
//来进行复原(undo)能够复原(undo)的次数为 255 次

MultiLineEdit1->setReadOnly( FALSE );
//设定 MultiLineEdit1 能够接受客户端的文字输入.假如这里为 TRUE ,那麽使用者
//就没有办法在这个 MultiLineEdit 输入任何的东西了.通常只有在 MutilLineEdit
//被当作纯粹的文字显示部件才会用到.

MultiLineEdit1->setProperty( "overWriteMode", QVariant( TRUE, 0 ) );
//打开 overWrite 的开关.也就是说用户输入的时侯,会把 MultiLineEdit1 中
//本身的东西 overWrite 掉. (覆盖写掉)


√ MultiLineEdit 的应用很的广泛.小到文字的显示,输入.大到文字的处理.好比 Kdevelop 中
的主 window, 我们大家写程式的时侯,就是在一个 MultiLineEdit 中. Kdevelop 2.x 中,那种在 error
code (make 时产生的)上面 double click, 然後上面就会自动 focus 到错误程式那行的程式.也是用
MultiLineEdit 来运作的.又例如 double click 在一段文字上面,然後 popup 新的 window 出来等等.
所以说, MultiLineEdit 真的是很重要很多用的一个物件.



LCD Number--数字的显示

QT Designer 中有一个画了个数字 『42』的
Icon. 在那理点一下.就能够做出一个 LCD Number 了.
同样的道理, form1.h 中有了 QLCDNumber 的 class, 也多出了QLCDNumber* LCDNumber1,
而 form1.cpp 中就多出了

LCDNumber1 = new QLCDNumber( this, "LCDNumber1" );
LCDNumber1->setGeometry( QRect( 350, 280, 111, 81 ) );
这样的一个 LCDNumber 实际上还是没有什麽作用.现在让我们回到 QT Designer 中.
在 Property Edit 里面给我们的 LCD 一些 value 再来看看.我们选择numDigits 为
2, intValue 为 10.这时侯,我们来看看. form1.cpp 中有了∶

LCDNumber1->setNumDigits( 2 ); //最多显示两个数字.也就是说能够选择从 0 到 99
LCDNumber1->setProperty( "intValue", 3 ); //最初的起始值为 3

QT Designer 中 LCDNumber 的 Property Edit 更有个 mode 能够用来选择.
我们能够选择 Hex, Dec, OCT, Bin 这四种模式. 我们现在选择 HEX,然後就会发
现,在 form1.cpp 中有下面的程式码∶
LCDNumber1->setMode( QLCDNumber::HEX );
setMode 是用来控制显示方式的.
所以说,QT 这里给我们提共的显示方式有∶
DEC->10进位方式
HEX->16进位方式
OCT->8 进位方式
BIN->2 进位方式

在这里,10 进位方式和16进位方式是我们常常会用到的.




5. 最後的程式

现在我们来把上面的东西结合起来,写一个小小的程式.程式本身什麽也不做.
只是给大家介绍一下程式的入门罢了∶ (see figure 3)


figure 3




main.cpp 很简单,这里我就不多讲了

//main.cpp

#include "final.h" //我们後面定义的 .h 文档
#include

int main(int argc, char **argv)
{
KApplication app(argc, argv, "Form1");
Final *final=new Final(); // 後面的 final.h 会有定义
final->show();
app.setMainWidget(final);
return(app.exec());
}

//final.h

#ifndef FINAL_H
#define FINAL_H

#include
class QButtonGroup; //我们要用的 ButtonGroup
class QCheckBox; //我们要用的 CheckBox
class QGroupBox; //我们要用的 GroupBox
class QLCDNumber; //我们要用的 LCDNumber
class QLabel; //我们要用的 Label
class QLineEdit; //我们要用的 LineEdit
class QMultiLineEdit;//我们要用的 MultiLineEdit
class QPushButton; //我们要用的 PushButton
class QRadioButton; //我们要用的 RadioButton
class QString; //MultiLineEdit 要用到的 String

class Final:public QDialog //Final 基於 QDialog
{
Q_OBJECT public:
Final (QWidget * parent = 0, const char *name = 0); //我们的主程式
~Final ();

QButtonGroup *group_one;
QRadioButton *radio_two;
QRadioButton *radio_one;

// 第一个 ButtonGroup, 带两个 RadioButton (radio_two, radio_one)

QGroupBox *group_two;
QCheckBox *check_one;
QCheckBox *check_two;
QCheckBox *check_three;

// GroupBox, 饱含三个 CheckBox (check_one, check_two, check_three)

QPushButton *ok_one;
QPushButton *ok_two

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值