duangsuse::Echo
717 subscribers
4.26K photos
130 videos
583 files
6.48K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
比起这个还是写 C++/CMake 吧...

Win32 Native 应用程序比较难搞因为这里没部署 Windows 开发环境也很难部署... 除了 Wine...
Qt 可以考虑一下,正在尝试 Qt
实在不行可以上 C++/Rust Win32 bindings + Wine 测试

算法上主要考虑是一个很简单的算法,程序启动就创建悬浮窗和通知区域图标,点悬浮窗就弹出大号黑框显示被选项目,点通知区域图标就打开设置,允许设置弹窗背景和颜色、悬浮窗背景颜色、点名文件路径
默认文件 randomItems.txt 以系统默认的行结束符切分,如果一行长度为 0 或者全都是空格/Tab 就无视那行

考虑到最可能失败的情况是文件无法读取、文件是空白的,都弹出窗口提示错误
如果文件不存在,它提示是否创建文件,如果是,则创建此文件并在记事本里打开

其他错误都弹窗提示
#ifndef FLOAT_WIDGET_H
#define FLOAT_WIDGET_H

#include <QWidget>

#include <QMouseEvent>

#include <QPoint>
#include <QPixmap>

#include <QDesktopServices>
#include <QUrl>

class Widget : public QWidget
{
Q_OBJECT

public:
Widget(QWidget *parent = 0);
~Widget();

private:
QPoint relativePos;

protected:
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
};

#endif // FLOAT_WIDGET_H

#include "float_widget.h"
#include <QPixmap>
#include <QMouseEvent>
#include <QPoint>
#include <QLabel>
#include <QBoxLayout>

Widget::Widget(QWidget *parent): QWidget(parent, Qt::FramelessWindowHint)
{
QLayout *layout = new QBoxLayout(QBoxLayout::TopToBottom);
QLabel *label = new QLabel;

QPixmap *pixw = new QPixmap(size());
pixw->fill(QColor(0x3f,0x51,0xb5,150));

label->setPixmap(*pixw);
label->setText("点名");
layout->addWidget(label);
setLayout(layout);

adjustSize();
}

void Widget::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton){
relativePos = this->pos()- event->globalPos();
}
}

void Widget::mouseMoveEvent(QMouseEvent *event)
{
this->move(event->globalPos() + relativePos);
}

Widget::~Widget()
{
}

现实很骨感:花了很长时间才做了一个悬浮窗...
有第三方库。😶
OK 现在基本满意,如果无视我熬了一整晚的话... 至少写了六个小时..........\
This media is not supported in your browser
VIEW IN TELEGRAM
写得我连哪些在哪里分配 & 是什么 * 是什么都搞不明白了...
duangsuse::Echo
#project #Cplusplus https://github.com/duangsuse/randomSelection 1+ packaged ❤️
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
OK 现在基本满意,如果无视我熬了一整晚的话... 至少写了六个小时..........\
有没有人有 Qt5 Windows 开发环境的... 😶 MXE 的交叉编译环境只到 4.7
duangsuse::Echo
下载安装应该只要一刻钟
... 一刻钟... 我这里只有 GNU/Linux 环境很麻烦啊,有没有谁能帮我编译一下.... 😶
https://wiki.qt.io/MinGW-64-bit

如果一定要这么做,还得 from_scratch,可以说是相当难受了
... 为什么 Rust 就能很好的支持 x86_64-pc-win32-pe,Qt 作为「跨平台框架」连最基本的交叉编译都麻烦得要死
如果它不支持 Qt5 我就把项目 port 到 Qt4 就好了...
Native 的东西就是很让人淡疼.... So fuck you Qt...
啊还好有 mxe.cc 提供了 Qt5 的 MinGW 交叉编译环境...
Linux 平台上开发真是折腾... M$ 给 Linux 做了子系统支持,所以不存在 Windows 平台不支持 GNU/Linux 的情况了,呵呵。你 NB。