12.弹窗
qt弹窗独立弹窗main.cpp1234567891011#include <QApplication>#include <QMessageBox>int main(int argc, char *argv[]) { QApplication a(argc, argv); // parent 传 nullptr,弹窗将作为一个独立的顶级窗口出现在屏幕中央 QMessageBox::information(nullptr, "系统提示", "检测到环境异常,程序将退出。"); return 0; // 弹窗关闭后直接结束程序}
窗口弹窗main.cpp12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485#inc ...
11.输入输出
qt1.控制台开关CMakelists.txt控制开关
123#关闭控制台add_executable(FirstConsole WIN32 main.cpp)#开启控制台
2.控制台输出1234567891011121314151617181920212223242526272829303132333435363738#include <QApplication>#include <QDebug>#include <QString>#include <QPoint>void demonstrateQtLogging() { // 准备一些 Qt 特有的数据类型进行演示 QString name = "Gemini"; QPoint pos(100, 200); // 1. qDebug : 调试信息(最常用,默认颜色) qDebug() << "Debug:" << "程序正在运行,当前坐标:" << ...
10.打包qt程序
打包qt程序方法
按windows键搜索qt
打开Qt 6.9.0 (MinGW 13.1.0 64-bit)或者打开qtenv2.bat.
1234@echo offecho Setting up environment for Qt usage...set PATH=C:\D\Program\Qt\6.9.0\mingw_64\bin;C:\D\Program\Qt\Tools\mingw1310_64\bin;%PATH%cd /D C:\D\Program\Qt\6.9.0\mingw_64
切换到编译后的软件目录例如
1C:\D\test\CC++\qt\Qt6\FirstConsole\build\Desktop_Qt_6_9_0_MinGW_64_bit-Debug
创建文件夹bin
复制程序到bin目录
输入打包命令
1windeployqt FirstConsole.exe
成功
9.配合ui文件的写法
窗口程序写在ui文件中窗口程序写在ui文件中1. main.cpp1234567891011#include "widget.h"#include <QApplication>int main(int argc, char *argv[]) { QApplication a(argc, argv); Widget w; w.show(); return a.exec();}
2. widget.h1234567891011121314151617181920212223#ifndef WIDGET_H#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACEnamespace Ui {class Widget;}QT_END_NAMESPACEclass Widget : public QWidget { Q_OBJECTpublic: Widget(QWidget *parent = nullptr); ~Widget();pri ...
8.键盘事件
qt继承并重写类成员函数实现键盘事件main.cpp123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include <QApplication>#include <QDebug>#include <QPushButton>#include <QWidget>#include <QKeyEvent> // 必须包含键盘事件头文件// 1. 创建一个自定义类继承 QWidgetclass MyWindow : public QWidget {public: MyWindow() { // 让窗口能够获取焦点,否则无法接收键盘事件 setFocusPolicy(Qt::StrongFocus); }protected: // 2. 重写键盘按下事件 void keyPressEvent(QKeyEvent *event) ov ...
7.使用信号与槽机制让连接控件与鼠标事件
qt1.单文件点击事件1234567891011121314151617#include <QApplication>#include <QDebug>#include <QPushButton>#include <QWidget>int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget *hw = new QWidget(); // main GUI window hw->show(); // hw is the real window QPushButton *button = new QPushButton("Click Me", hw); button->show(); QObject::connect(button, &QPushButton::clicked, []() { qDebug() <& ...
6.布局
布局创建多个按钮布局1.widget.h123456789101112131415161718192021#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QPushButton>class Widget : public QWidget { Q_OBJECTpublic: Widget(QWidget *parent = nullptr); ~Widget();private: // 多个按钮成员 QPushButton *m_btnSave; QPushButton *m_btnCancel; QPushButton *m_btnDelete;};#endif
2. widget.cpp123456789101112131415161718192021222324252627282930#include "widget.h"#include <QHBoxLayout> // 水平布局#in ...
5.用类的方式在窗口中创建按钮控件
在窗口类中创建按钮控件1.在单个文件窗口类中创建按钮控件12345678910111213141516171819202122232425262728293031323334353637383940#include <QApplication>#include <QWidget>#include <QPushButton>#include <QDebug>// 1. 定义自定义类,继承自 QWidgetclass MyWindow : public QWidget { Q_OBJECT // 核心宏:启用信号槽、属性系统等元对象特性public: explicit MyWindow(QWidget *parent = nullptr) : QWidget(parent) { // 设置窗口属性 setWindowTitle("Qt 完整类框架示例"); resize(400, 300); // 创建按钮 m_butto ...
4.用类的方式创建窗口
qt1.窗口main.cpp1234567891011121314151617181920212223242526272829303132333435#include <QApplication>#include <QWidget>#include <QDebug>// 1. 定义类(包含声明与实现)class SimpleWindow : public QWidget { Q_OBJECT // 开启信号槽/事件系统支持public: SimpleWindow(QWidget *parent = nullptr) : QWidget(parent) { setWindowTitle("Minimal Qt Window"); resize(300, 200); }protected: // 重写最简单的关闭事件 void closeEvent(QCloseEvent *event) override { qDebug( ...
3.创建一个按钮控件
qt1.创建按钮并显示
main.cpp
1234567891011121314#include <QApplication>#include <QDebug>#include <QWidget>int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget *hw = new QWidget(); // main GUI window hw->show(); // hw is the real window QPushButton *button = new QPushButton("Click Me", hw); button->show(); return a.exec();}
