Qt入门

RadioButton1 = new QRadioButton( ButtonGroup1, "RadioButton1" );
//在这里,我们看到,这次不再是
//RadioButton1 = new QRadioButton( this, "RadioButton1" );
//而是把 this 换成了 ButtonGroup1 了.这也就是说,这次我们
//生成的 RadioButton1 是在 ButtonGroup1 这个介面上,而不是
//以前的主视窗了.

RadioButton1->setGeometry( QRect( 30, 30, 151, 61 ) );
// RadioButton1 的位置也有了改变. 这里的 30, 30 是以 ButtonGroup1 来
// 作为标准的.而不事主视窗.

// 下面这两行就不用多说了,大家一定知道
RadioButton1->setText( tr( "RadioButton1" ) );
RadioButton1->setChecked( TRUE );

现在我们自己把上面的程式码加入到我们的 form1.h 和 form1.cpp
中.同时把我们的 RadioButton1 从 this 改到 ButtonGroup1
位置也改变为 RadioButton1->setGeometry( QRect(30,30,151,61));
同时更该 RadioButton2 的设定. this 改成 ButtonGroup1
位置改成 RadioButton2->setGeometry( QRect(30, 100, 151, 61));
使 RadioButton2 跟 RadioButton1 的位置相同,但是低 70
重新编译程式.您就会发现这时侯的 RadioButton 变成二选一了.两个
中您只能选择一个.当您在 RadioButton2 前面用 mouse 按一下, RadioButton1
前面就会自动清除掉.



√ RadioButton 通常是用在唯一选择中.也就是说从多个选择中,选出一个来.所以通常配合ButtonGroup
来使用.但也能够单个单独使用.


CheckBox:

CheckBox 是一种跟 RadioButton 差不多的东西.通常的区别在於 CheckBox 被用於多重选择. CheckBox 在
QT Designer 中是个方方的中间有个 X 的标的东西.似乎一个小箱子相同.我们现在似乎 RadioButton
相同,做出两个 Checkbox, 然後在做出一个 ButtonGroup.把 checkbox 2 设定为 checked
form1.h 文档中,多出了
class QCheckBox;

QButtonGroup* ButtonGroup2;
QCheckBox* CheckBox1;
QCheckBox* CheckBox2;

而 form1.cpp 呢.也就有了
#include
ButtonGroup2 = new QButtonGroup( this, "ButtonGroup2" );
ButtonGroup2->setGeometry( QRect( 20, 180, 161, 141 ) );
ButtonGroup2->setTitle( tr( "ButtonGroup2" ) );

CheckBox1 = new QCheckBox( ButtonGroup2, "CheckBox1" );
CheckBox1->setGeometry( QRect( 20, 30, 121, 41 ) );
CheckBox1->setText( tr( "CheckBox1" ) );

CheckBox2 = new QCheckBox( ButtonGroup2, "CheckBox2" );
CheckBox2->setGeometry( QRect( 20, 90, 121, 41 ) );
CheckBox2->setText( tr( "CheckBox2" ) );
CheckBox2->setChecked( TRUE );

相信上面就不用我多解释,大家也一定明白了吧.实际上 CheckBox 跟 RadioButton
是一种很类似的东西.


LineEdit--进入文字的处理

QT Designer 中有一个标有 『ab』 标的小 Icon, 那就是 LineEdit 了.
现在我们在这里按一下,然後画出一个 LineEdit 来. 然後在这个 LineEdit
上面,用 mouse double click. 在出现的 window 中输入 "Display Some Text"

现在我们来看看程式码的变化∶

form1.h 中,定义了 LineEdit1
class QLineEdit;
QLineEdit* LineEdit1;

form1.cpp 中∶
#include
LineEdit1 = new QLineEdit( this, "LineEdit1" ); /生成 LineEdit1
LineEdit1->setGeometry( QRect( 130, 70, 251, 71 ) ); /设定 LineEdit1 的位置

LineEdit1->setText( tr( "Display Some Text" ) ); / LineEdit1 显示的字为 "Display Some Text"

我们能够看到,在 QT Designer 的 Property Edit 中,有一个 echoMode 的选项.现在我们把他选择为
Password. 这时侯我们就看到刚刚打入的 "Display Some Text" 这几个字,已变成了 "*******"了.
QT Designer 中,您能够选择 echoMode 为 Password 或是 NoEcho. 这些通常都是用作密码输入
用的.当客户输入一组密码的时侯,屏幕上的密码输入 window 并不显示用户的密码明文. 而是采用 Password
---"*******" 或 NoEcho ----(什麽都不显示) 来代议. form1.cpp 的程式码中会有下面的程式码出现∶
LineEdit1->setEchoMode( QLineEdit::Password );

√ LineEdit 通常是用来显示或读取单行的数据.

MultiLineEdit--进一步学习文字处理

MultiLineEdit 也是作为文字处理用的.但是他的功能就比 LineEdit 要强出很多了. MultiLineEdit
的 Icon 是个上面画有 『cde』下面画有 『ab』的图案的按钮.
我们先做出一个MultiLineEdit,然後 double click, 在文字部份写入∶
This is a Multi Line Edit.
we are trying to put some text here.
Smile
然後观察程式码:
form1.h 多了
class QMultiLineEdit;

QMultiLineEdit* MutiLineEdit1;

form1.cpp中有了
#include
MultiLineEdit1 = new QMultiLineEdit( this, "MultiLineEdit1" );
MultiLineEdit1->setGeometry( QRect( 70, 40, 441, 281 ) );
MultiLineEdit1->setText( tr( "This is a Multi Line Edit./n"
"We are trying to put some text here./n"

<think>好的,用户想学习QT基础知识,需要入门教程和学习资源。首先,我需要回顾之前提供的引用内容。引用[1]提到了一个包含三本QT学习教程PDF的压缩包,项目地址是有效的,用户可以直接下载。引用[2]则是一个系列教程,分为Qt基础入门的上、中、下,还有C++基础和安装指南,这对新手来说非常有用,尤其是从安装开始逐步深入。 用户的需求明确是入门资源,所以应该优先推荐结构化的学习路径。首先建议他们从安装和环境配置开始,然后学习C++基础,因为Qt是基于C++的。接着分阶段学习Qt的基础知识,每个阶段都有对应的教程链接,这样用户能系统性地学习。同时,提供的代码示例和练习项目能帮助巩固知识,比如创建一个简单的窗口应用,这样实践与理论结合效果更好。 另外,用户可能需要更的资源,比如视频教程和官方文档,所以补充推荐B站和Qt官网的资源是合适的。需要注意检查链接是否有效,但目前提供的GitCode项目地址应该没问题。最后,生成的相关问题要覆盖安装、基础概念、与C++的关系、常见错误以及界面设计工具,这样能帮助用户预见到后续可能遇到的问题,并提前做好准备。</think>以下是针对QT入门学习的教程资源和学习路径建议: ### 一、QT基础学习路径 1. **安装与环境配置** - 推荐先安装Qt Creator集成开发环境,参考《Qt学习之Qt安装》教程[^2] - 验证安装:创建Hello World项目 ```cpp #include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel label("Hello Qt!"); label.show(); return app.exec(); } ``` 2. **C++基础准备** - 学习面向对象编程、信号与槽机制前需掌握C++基础语法 - 参考《Qt学习之C++基础》教程 3. **核心知识体系** - 窗口部件(QWidget) - 布局管理器(QLayout) - 信号与槽(Signal & Slot) - 事件处理机制 - 参考《Qt基础入门》上/中/下系列教程[^2] ### 二、推荐学习资源 1. **PDF教程合集** - 包含《Qt5编程入门》《Qt Creator快速入门》《C++ GUI Qt4编程》三本经典教材 - 下载地址:[QT学习教程PDF资源](https://gitcode.com/open-source-toolkit/c68c8)[^1] 2. **视频教程推荐** - B站《Qt入门到实战》系列(约30小时) - 官方教程《Qt Essentials》 3. **官方文档** - Qt Assistant(内置帮助系统) - [Qt官方学习平台](https://www.qt.io/learn) ### 三、练习建议 1. 实现计算器界面 2. 开发文件浏览器 3. 制作简易画图工具
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值