Battery——Battery control
BatteryQuick--battery control(QtQuick
)
Bootstarp--Auto-start settings and detection when the program is powered on
-
Reading and writing the registry under Windows enables self-starting at boot, and there are two locations where you can write;
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run //对于所有用户 HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run // 对于当前用户
-
Copy the plist file to ~/Library/LaunchAgents/ under MacOS, and use the launchctl load/unload command to achieve automatic startup at boot;
-
There are two ways under Ubuntu:
- Use the systemctl --user enable/disable command to achieve automatic startup at boot;
- Copy the .service and .timer files to ~/.config/systemd/user/, and use the systemctl --user enable/disable command to implement automatic startup at boot;
- The systemctl command is used in the .timer file, which is used to execute the .service file regularly to prevent the qxcbconnection: could not connect to display error from occurring after the graphical interface is started;
- Copy the .desktop file under /usr/share/Application/ to ~/.config/autostart/ to achieve automatic startup at boot (not verified);
- Use the systemctl --user enable/disable command to achieve automatic startup at boot;
BubbleWindow——Bubble dialog box, which can also be used as a tool tip (ToolTip)
Chart——Visual chart drawing, referenceUse QChart to display real-time dynamic curvesExamples related to QChart
CheckBoxStandardItem——StandardItem that can be checked, and the parent node status or child node status is automatically updated according to the checked status
Clock--clock
DashBoard——Dashboard
DragDrop——Simple control drag and drop, refer to the QT example Drag and Drop Puzzle Example
FlowLayout——Flow layout, from QT example Flow Layout Example
GridViewModel——Adaptive palace chart based on QListView
HttpClient——http client
IconButton——EventFilter and Button that support Icon following state switching
ImageCarousel——Simple image carousel component
LogAsynchronous——Asynchronous logging, create a thread to write logs to files, and separate the front and back ends
- Log file name: application name (appname). time (time, accurate to seconds). host name. process ID (Tid). log (. count). If a single log written in a day is close to 1G, a suffix will be added automatically. (.1,.2.3..., and so on) Create a new log file to write, and rollFile will still be rolled at 0 o'clock every day;
- Normal file name: LogAsynchronous.2020-04-26-20-29-03.Youth.11828.log;
- The log written on that day was close to 1G, and the new file name was: LogAsynchronous.2020-04-26-20-38-55.Youth.11828.log.1;
- Log format: time (time, accurate to milliseconds). Thread ID (Pid). Log level (debug). Print information (msg). File (File). Line number (Line).
- For example: 2020-04-26 20:38:55.818 2052[Debug]123456789qwertyuioplkjhgfdsa 8412789-File:(..\logAsynchronous\main.cpp) Line:(19);
- Qt-App, this project also has log encapsulation, which is roughly consistent with the code of this project. Since the update frequency of the two projects may be different, it is recommended to check the log module at the same time.Qt-Applatest updates.
MulClient——Multi-threaded client, one client per thread (how to bypass system limitations and simulate millions of clients)
MulServer——Multi-threaded server, one thread and one client processing (processing TCP communication with high real-time performance)
NavigationProgressBar——Navigation progress bar
PasswordLineEdit——Password input box
ProgressArc——Arc progress bar
ProgressBar——QProgressBar rounded corner alternative
ReactorServer——Multi-threaded server, Reactor mode (Echo)
SimpleUdp——Simple UDP example, broadcast and receive
ShowInMyComputer——Show current applications in My Computer
Firewall whitelist.
SlipButton——Sliding button
Another: A simpler implementation:Animated CheckBox;
SqliteWAL——Multi-threaded concurrent writing database program in Sqlite WAL mode
- Improved concurrency: WAL mode allows multiple readers and one writer to access the database at the same time, which can improve concurrency and performance;
- Crash recovery: WAL mode ensures that the database remains consistent in the event of a crash by flushing all changes to the log file before committing the transaction;
- Improved write performance: WAL mode allows concurrent writes, which can improve write performance better than the default rollback mode;
- WAL mode is only available in SQLite 3.35.5+ versions;
- Increased disk usage: WAL mode requires more disk space than rollback mode because it writes all changes to the log file before committing them;
- Slow read performance: In WAL mode, read operations are not blocked by write operations. If read and write operations are performed at the same time, data inconsistency may result.
TableViewModel——Table view
- Various custom agents
- ButtonDelegate;
- ComboBoxDelegate;
- ProgressBarDelegate;
- RichTextItemDelegate;
- StarDelegate----From Qt example Star Delegate Example;
- One hundred thousand level data rendering;