class Enum : public QObject{ Q_OBJECT public: enum Fruit{ APPLE = 0, BANANA, POTATO } Q_ENUM(Fruit);//向Qt注册此枚举文件,若有多个枚举,则在对应枚举下注册即可,如下 enum Vagetables{ TOMATO,//默认初值从零起 ONION, POTATO } Q_ENUM(Vagetables);//嗯 } 值转枚举 int to Enum int fruit...
除此以外,QMetaEnum还提供了一个内部的索引,从1开始给每个枚举量按自然数顺序编号(注意和枚举量本身的数值是两回事),提供了int value(int index) 和const char *key(int index) 两个便捷函数分别返回枚举量对应的数值和枚举量对应的字符串,配合keyCount() 函数可以实现枚举量的遍历: 1qDebug()<<m.name()<...
// 栈容器界面在程序初次运行时,会显示开发界面的页面,所以一般要设置初始页面 ui->stackedWidget->setCurrentIndex(0); // 切换栈容器界面 int count = 0; connect(ui->changeStackBtn, &QPushButton::clicked, [=]()mutable{ ui->stackedWidget->setCurrentIndex(count++ % 2); }); 1. 2. 3. 4. ...
int methodOffset() const; int methodCount() const; int indexOfConstructor(const char *constructor) const; int indexOfMethod(const char *method) const; int indexOfSignal(const char *signal) const; int indexOfSlot(const char *slot) const; QMetaMethod constructor(int index) const; QMetaMethod...
使用setGeometry(int x, int y, int w, int h)或setGeometry(QRect )设置该属性的值(注:QRect类是Qt的一个类,该类提供了一组函数,它们返回各种矩形坐标,并支持对它们进行操作。QRect还提供了相对于各种坐标移动矩形的函数。详细介绍可参考官方文档“QRect Class | Qt Core 5.15.5”和博客“QRect类参考”...
class Counter : public QObject { Q_OBJECT public: Counter() { m_value = 0; } int value() const { return m_value; } public slots: void setValue(int value); signals: void valueChanged(int newValue); private: int m_value;
// 根据对象名获取id int id = QMetaType::type("MyClass"); // 创建对象 MyClass* myClassPtr = QMetaType::create(id); // 销毁对象 QMetaType::destroy(id, myClassPtr); 2.2.注册类成员 注册类成员分两步。 步骤一 有两种可选的方法,方法二更轻量级,比方法一少了信号槽功能。 //方法1 cl...
int size() const:返回队列中的元素个数。 void clear():清空队列中的所有元素。 bool contains(const T &value) const:检查队列是否包含特定值value。 int count(const T &value) const:返回队列中特定值value的个数。 T &first():返回队列中第一个元素的引用。如果队列为空,这个函数的行为是未定义的。
class DrawWidget : public QWidget { Q_OBJECT public: explicit DrawWidget(QWidget *parent = nullptr); void mousePressEvent(QMouseEvent *); void mouseMoveEvent(QMouseEvent *); void paintEvent(QPaintEvent *); void resizeEvent(QResizeEvent *); signals: public slots: void setStyle(int); // ...
enumTransStatus{TS_IDLE,//空闲(图像数据可以更新)TS_RUNNING,//图像数据传输中(还不可以更新图像数据)TS_FIRST_DATA,//需要发出图像数据的第一部分};classImgData{public:chardata[LEN]={0};//图像数据inttotalLen=0;//图像大小inthasSentLen=0;//已发出的数据长度TransStatus stats=TS_IDLE;//工作状态}...