2025年3月17日 星期一

修改 rpi 開機啟動顯示過程

禁用彩虹屏

sudo nano /boot/firmware/config.txt

在最後一行加上
disable_splash=1

關閉開機顯訊息及logo

sudo nano /etc/systemd/system/cmdline.txt

加上 consoleblank=1 logo.nologo quiet loglevel=0 plymouth.enable=0 vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fastboot noatime nodiratime noram


這段文字是 Linux 核心啟動參數的配置項,通常會被放入 bootloader 的設定檔(例如 GRUB),用來設定系統啟動時的各種行為。每個選項對應著一個特定的行為或功能,讓我們逐一解析每個參數的作用:

2025年3月9日 星期日

在cmake中印debug msg

在 CMake 中輸出調試信息,可以使用 message() 函數。這個函數允許你在 CMake 配置過程中打印訊息到命令行,對於調試 CMake 配置或檢查變數的值非常有用。

使用 message() 函數印出調試訊息

基本語法:

message([<mode>] "your message")

其中,<mode> 可以是以下幾個選項之一:

  • STATUS: 默認模式,會以普通訊息的形式顯示。
  • WARNING: 顯示警告訊息,會以黃色的警告形式顯示。
  • AUTHOR_WARNING: 只有當你在 CMake 中啟用了 CMAKE_SUPPRESS_DEVELOPER_WARNINGS 時,這個訊息才會顯示。
  • SEND_ERROR: 顯示錯誤訊息,並且會中止 CMake 的處理過程。
  • FATAL_ERROR: 顯示致命錯誤訊息,並且立即終止 CMake 的處理過程。

2025年3月5日 星期三

在RPI 4 上設定開機啟動你的程式

在 Raspberry Pi 4 上,如果沒有 rc.local 文件,這是因為現代的 Linux 系統使用了 systemd 來管理啟動過程。你可以使用 systemd 創建一個自定義的服務來在啟動時執行你的應用程序。

以下是如何使用 systemd 設置開機啟動的步驟:

1. 創建 systemd 服務文件

  1. /etc/systemd/system/ 目錄中創建一個新的服務單元文件。例如,我們可以將其命名為 appPlayer.service

    sudo nano /etc/systemd/system/appPlayer.service
  2. 在該文件中,添加以下內容:

2025年2月26日 星期三

[QML Text] 搞了半天就是不換行?肯定用錯模式!wrapMode: Wrap WordWrap WrapAnywhere 差異~喵的~

在 QML 中,Text 控件的 wrapMode 屬性控制了當文字超過 Text 控件的顯示區域時,文字如何換行。這裡有三個不同的選項:Text.WrapText.WordWrapText.WrapAnywhere,它們之間的差異如下:

1. Text.Wrap

  • 功能: 當文字達到控件的邊界時,它會在單詞的邊界處換行。換句話說,它會根據空白字符(例如空格、標點符號)來判斷何時換行,保證不會在單詞的中間換行。
  • 用例: 用於一般的文字處理,保持單詞完整。

2025年2月24日 星期一

怎麼拿到QComboBox的text、index、data,更改選項的文字

QComboBox 獲取當前選中的值,通常有兩種方式:

  1. 獲取選中的文本:使用 QComboBoxcurrentText() 方法,這將返回當前選中的文本。
  2. 獲取選中的索引:使用 QComboBoxcurrentIndex() 方法,這將返回當前選中項目的索引(索引是從 0 開始的)。

1. 獲取選中的文本

如果你想獲取 QComboBox 當前選中的顯示文本,可以使用 currentText() 方法:

QString selectedText = comboBox->currentText();
qDebug() << "Selected text: " << selectedText;

這會返回 QComboBox 當前選中項目的文本。