2026/6/28 13:20:51

【Qt】实例-不同方式的输出

【Qt】实例-不同方式的输出 实例-不同方式的输出1. 使用输入框输入文本2. 使用按钮出发文本3. Qt的命名规则3.1Qt中的命名规范3.2 Qt Creator中的快捷键1. 使用输入框输入文本我们打开Qt左侧栏中的设计,或者直接双击.ui文件就可以来到界面设计界面其中左侧栏汇总Qt内置设置了多中的空间其中有一栏就是专门只用来输入文本用到。只需要鼠标按住其中的控件然后进行拖拽到现实界面即可。当我们拖拽控件到界面上的时候选中控件在右侧栏属性面板上就会有对应的属性从图中可以看出这个控件是属于QObject的并且会给这个控件一个objectName当我们拖拽控件到界面上的时候选中控件在右侧栏属性面板上就会有对应的属性从图中可以看出这个控件是属于QObject的并且会给这个控件一个objectName而这个objectName是唯一的并且我们可以手动去命名如果不手动命名系统会自动对其进行命名。而这个objectName的作用就是我们可以在代码中使用ui来进行操作之前我们就讲过.ui文件中的xml文件格式后期会经过qmake的操作变成C的代码而我们对ui界面的操作其实就是在给这个.ui的xml文件进行添加这个objectName其实就是给控件的一个标识类似与我们写C代码中定义一个变量名并且在widget.h中也定义了ui指针private:Ui::Widget*ui;当然除了使用拖拽的方式也可使用代码的方式进行设置。#includewidget.h#includeui_widget.h#includeQLineEditWidget::Widget(QWidget*parent):QWidget(parent),ui(new Ui::Widget){ui-setupUi(this);QLineEdit*lineEditnewQLineEdit(this);lineEdit-setText(hello qt);}Widget::~Widget(){delete ui;}2. 使用按钮出发文本这里首先我们选中左侧栏中的Buttons专栏中的button控件将其拖拽到界面中并且进行编辑文本。但是我们点击按钮并没有什么反应这是因为我们还没有给按钮绑定事件。所以我们现在来做一个预期效果当我们点击按钮的时候我们希望原理按钮的文本内容发生改变当我们在点击一下按钮的时候按钮上的文本内容又回到原先的内容。#includewidget.h#includeui_widget.h#includeQLineEditWidget::Widget(QWidget*parent):QWidget(parent),ui(new Ui::Widget){ui-setupUi(this);connect(ui-pushButton,QPushButton::clicked,this,Widget::handleClick);}Widget::~Widget(){delete ui;}voidWidget::handleClick(){if(ui-pushButton-text()QString(hello qt))ui-pushButton-setText(hello world);elseui-pushButton-setText(hello qt);}那么qmake是怎么生成呢我们打开.pro文件看一看qmake生成了什么代码。从这个目录回到上一层目录把这个文件拖到Qt项目中就能看到源码了/******************************************************************************** ** Form generated from reading UI file widget.ui ** ** Created by: Qt User Interface Compiler version 5.14.2 ** ** WARNING! All changes made in this file will be lost when recompiling UI file! ********************************************************************************/#ifndefUI_WIDGET_H#defineUI_WIDGET_H#includeQtCore/QVariant#includeQtWidgets/QApplication#includeQtWidgets/QPushButton#includeQtWidgets/QWidgetQT_BEGIN_NAMESPACE class Ui_Widget{public:QPushButton*pushButton;// 这个就是qmake自动生成的pushButton成员变量voidsetupUi(QWidget*Widget){if(Widget-objectName().isEmpty())Widget-setObjectName(QString::fromUtf8(Widget));Widget-resize(800,600);pushButtonnewQPushButton(Widget);pushButton-setObjectName(QString::fromUtf8(pushButton));pushButton-setGeometry(QRect(320,240,171,71));retranslateUi(Widget);QMetaObject::connectSlotsByName(Widget);}// setupUivoidretranslateUi(QWidget*Widget){Widget-setWindowTitle(QCoreApplication::translate(Widget,Widget,nullptr));pushButton-setText(QCoreApplication::translate(Widget,hello world,nullptr));}// retranslateUi};namespace Ui{class Widget:public Ui_Widget{};// 同时这里Widget是继承自Ui_Widget,而Widget又是Ui的}// namespace UiQT_END_NAMESPACE#endif// UI_WIDGET_H3. Qt的命名规则3.1Qt中的命名规范驼峰命名法• 类名首字母大写单词和单词之间首字母大写• 函数名及变量名首字母小写单词和单词之间首字母大写3.2 Qt Creator中的快捷键• 注释ctrl/• 运行ctrlR• 编译ctrlB• 字体缩放ctrl鼠标滑轮• 查找ctrlF• 整行移动ctrlshift⬆/⬇• 帮助文档F1• 自动对其ctrli• 同名之间的.h和.cpp的切换F4• ⽣成函数声明的对应定义:altenter