随笔分类 - 8、Qt5::UI
摘要:#include <QBasicTimer> #include <QWidget> class WigglyWidget : public QWidget { Q_OBJECT public: WigglyWidget(QWidget *parent = nullptr); public slots
阅读全文
摘要:QProxyStyle 修改控件默认系统样式,用于动态覆盖绘图或其他特定的样式行为。 实现自定义样式,需要自己定义一个类,从QProxyStyle派生,实现对应的虚函数即可。 #include <QProxyStyle> #include <QPalette> QT_BEGIN_NAMESPACE
阅读全文
摘要:// 读图片QImageReader reader(fileName); reader.setAutoTransform(true); const QImage newImage = reader.read(); if (newImage.isNull()) { return false; } //
阅读全文
摘要:class DigitalClock : public QLCDNumber { Q_OBJECT public: DigitalClock(QWidget *parent = nullptr); private slots: void showTime(); }; DigitalClock::Di
阅读全文
摘要:class CodeEditor : public QPlainTextEdit { Q_OBJECT public: CodeEditor(QWidget *parent = nullptr); void lineNumberAreaPaintEvent(QPaintEvent *event);
阅读全文
摘要:calendar = new QCalendarWidget; calendar->setMinimumDate(QDate(1900, 1, 1)); calendar->setMaximumDate(QDate(3000, 1, 1)); QTextCharFormat format; form
阅读全文
摘要:// 通过指针绑定槽函数Button *createButton(const QString &text, const char *slotFunc) { Button *button = new Button(text); connect(button, SIGNAL(clicked()), th
阅读全文
摘要:#ifndef MUITEIMAGEELEGATE_H #define MUITEIMAGEELEGATE_H #include <QStyledItemDelegate> #include <QMetaType> typedef struct { QString strIds; QString s
阅读全文
摘要:Qt提供了强大的2D绘图系统,可以使用相同的API在屏幕和设备上绘图 主要基于 Qpainter QPainterDevice QPaintEngine 这三个类。 Qpainter 主要执行绘图操作 QPainterDevice提供绘图设备,是一个二维设备的抽象。可以使用Qpainter在其上绘图
阅读全文
摘要:透明窗口 如果想实现窗体部件透明效果,只需在设置背景时指定alpha值即可。 如QPushButton{background - color:rgba(255,255,255,100)} rgba():红绿蓝透明--其中a的值为100,则会出现半透明的效果。 ui->setupUi(this); s
阅读全文
摘要:Qt风格 Qt风格是一组继承QStyle的类。 QStyle是一个抽象基类。 QCDEStyle // CDE风格 QCleanlooksStyle // 类似于GNOME的风格 QGtkStyle // Gtk+的风格 QMotifStyle QMacStyle QPlastiqueStyle Q
阅读全文
摘要:QVariant类像是最常见的Qt的数据类型的一个共用体。 一个QVariant对象在一个时间只保存一个单一类型的单一值。 使用toT()函数来将QVariant对象转换为T类型。并且获取他的值。 toT()函数会复制QVariant对象,然后对其转换。所以QVariant对象并不会改变。 对于一个
阅读全文
摘要:1、颜色对话框 QColor: QColoDialog: QColoDialog::getColor()//获取颜色 //创建颜色对话框,默认为红色。 QColorDialog color(Qt::red,this); //显示颜色对话框的内容 color.setOption(QColorDialo
阅读全文
摘要:事件处理的方式 1.重新实现对象的特定事件处理函数,例如mousePressEvent、keyPressEvent 、showEvent等,处理完毕后将事件交给父类; 2.重新实现event函数,处理完毕后将事件交给父类; 3.在对象上安装事件过滤器,让其他对象控制此对象的事件行为; 4.给主程序Q
阅读全文
摘要:自定义事件:鼠标拖动一个图片,原图片变为阴影,图片跟着鼠标用,鼠标放下,图片放下,原图消失。 void mousePressEvent(QMouseEvent *event); //鼠标按下事件 void dragEnterEvent(QDragEnterEvent *event); //拖动进入事
阅读全文
摘要:Drag拖操作 Drop放操作 将文件拖进TextEdit中,TextEdit自动打开文件读取内容到TextEdit中。 1、数据拖动时会被存储在MIME(Multipurpose internet Mail Extensions)中。 2、在QT中使用QMimeData来表示MIME数据,并使用Q
阅读全文
摘要:鼠标事件(QMouseEvent)键盘事件(QKeyEvent)绘制事件(QPaintEvent)窗口尺寸改变(QResizeEvent)滚动事件(QScrollEvent)控件显示(QShowEvent)控件隐藏(QHideEvent)定时器事件(QTimerEvent) 事件: QEvent 事
阅读全文
摘要://实例QDir QDir *folder = new QDir; //判断创建文件夹是否存在 bool ok = folder->exists(edit->text()); bool ok = folder->mkdir(edit->text()); //实例QFile QFile file(ed
阅读全文