Qt入门

的主程式(main application),而 SLOT 则是呼叫 quit(),现在 Kdevelop 中更改
程式码.然後按下 F9 .等待程式运行.这时侯我们的程式,只要在那个 Exit 的 Button
上面用 mouse click 一下. 这个程式就完全关闭了.

现在我们在这个 PushButton 中再增加一些功能.我们来看看 QT Designer 中的 ToolTip
功能. 假如您的 QT Designer 中 Property Edit 并没有自动出现.那麽请在 QT Designer
中选择 Menu 中的 Windows 然後选择 Property Edit. 只要在 PushButton1 那个 Button
上面用 mouse click 一下. 就能够对 Pushbutton1 的 Property 进行编辑. 在 Property
Edit 中的 ToolTip 後面能够进行文字输入的地方,打入下面的文字∶

Click On this Button Will Exit Main Window.

然後 sava 文档. (Form1.ui)在用我们的小 script 呼叫 uic 程式把, Form1.ui 转成
Form1.h 和 Form1.cpp
myuic form1.ui
这时侯我们来观察生成的 form1.cpp 文档,我们会发现现在这里面比一前多了些东西.
现在这里多了一行:
QToolTip::add( PushButton1, tr( "Clicke On this Button Will Exit Main Window." ) );
这里,我们用QToolTip中的add,在 Object (PushButton1) 上面加入"Clicke On this Button
Will Exit Main window."这个字幕.现在我们在前面那个被我们简化的 form1.cpp 中,加入上面那
行程式码,因为我们需要调用到 QToolTip 所以我们也要把 qtooltip.h 给 include 进去.
#################################################################

#form1.cpp
#include "form1.h"
#include
#include
#include //因为我们需要用到QToolTip所以,这里要加入qtooltip.h
Form1::Form1(QWidget* parent, const char* name): QDialog(parent, name)
{
setCaption(tr("Form21"));
PushButton1=new QPushButton(this,"PushButton1");
PushButton1->setGeometry(QRect(130,160,161,71));
PushButton1->setText(tr("Exit"));
QToolTip::add(PushButton1, tr("Click On this Button Will Exit Main Window."));
connect(PushButton1, SIGNAL(clicked()), kapp, SLOT(quit()));
}
Form1::~Form1(){}

####################################################################
这时侯,重新编译这个 form1 的程式.您就会看到,当您把 mouse 移动到 Exit 那个按钮的时侯.
停留差不多一两秒钟. "Click On this Button Will Exit Main Window"的字样就会出现.

QPushButton 中更有一个常用的功能就是 setEnabled 了.setEnabled 通过 TRUE 和 FALSE 这两
个值.能够决定这个扭是否能够被使用者按下.
我们现在在 QT Designer 中的 Property Edit 中把 Enable 选择成 FALSE, 然後用 myuic 生成
新的程式码.
$myuic form1.ui
这时候再去观察 form1.cpp 会发现里面多了一行 PushButton1->setEnabled( FALSE ); 这一行就
把 PushButton1 配置为不可使用了. 假如需要 PushButton1 能够正常的被 Click, 那麽只要用
PushButton1->setEnabled(TRUE) 就能够了.

提示∶ 最常用的作法通常是做出一个 SLOT 或一个判断语句,来设定 PushButton 的状态.

QPushButton 更有一各场常被用到的功能就是 Font (字体的设定)在 QT 中,我们通过 QFont 能够
设定字体的大小,种类.
QT Designer 中的 Property Edit 中.有一个 Font 的选项.我们在 Font 後面的那个 ... 上面
按一下,就会出现一个能够选择 font 的 window. 这里我们以 Courier(adobe) 24 号字为例子.选择
後, Save, 然後观察重新用 uic 生成的 .cpp 程式码. 我们会发现主程式中多出了下面这些程式码∶

QFont PushButton1_font( PushButton1->font() );
PushButton1_font.setFamily( "adobe-courier" );
PushButton1_font.setPointSize( 24 );
PushButton1->setFont( PushButton1_font );

後面还多出一个 bool Form1::event( QEvent* ev ). 这里我们先不要去理会 bool Form1::event( QEvent* ev )

只看下面这四行就好了∶

1. QFont PushButton1_font( PushButton1->font() );
2. PushButton1_font.setFamily( "adobe-courier" );
3. PushButton1_font.setPointSize( 24 );
4. PushButton1->setFont( PushButton1_font );

第一行是用 QFont 生成 PushButton1_font. PushButton1_font 是为了给 PushButton1 做字体设定
第二行是告诉 PushButton1_font 使用那种字型. 我们这里使用的是 adobe-courier
第三行用了 setPointSize 设定了我们需要用到多大的字,这里我们用的是 24 号字.
第四行就真正的把这些值给到了 PushButton1 中.也就是说告诉 PushButton1 去改变字体的显示.
加入下面的代码以後,重新编译 form1, 就会看到那个按钮中的 Exit 这几个字明显的变大了.字体也改变
了.
提示∶ 通常在设定字体的时侯.都是用 #define 的方式在文档的开头宣告出来.
例如 #define FONT_SIZE 24
然後在设定时用 PushButton1_font.setPointSize(FONT_SIZE)
这样当您要改字体的时侯,只要把 #define FONT_SIZE 後面的值改了
整个程式中任何的字体就都改变了.而省去了在需要改变字体的时侯,
一个个的去改变没一个 setPointSize中的值

√ PushButton 是很之常用的一个东西.能够说是任何程式都不可少的.通常最常见
的用途就是作为 "退出" 按钮,对话窗口的选择按钮等等.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值