本章節使用的資料已經放到了開發板網盤資料中,路徑為:11_Linux 系統開發進階94_章節使用資料。
本章節介紹在 yocto Qt5 文件系統中使用程序旋轉 Qt 窗口。在嵌入式中有時候需要豎屏顯示,有時候不能修改 Qt 源碼,那么可以在 Qt 應用程序中將窗口旋轉 90 度。方法是將主窗口放入到 QGraphicsScene 中,然后旋轉 90 度,通過 QGraphicsView 顯示。子窗口通過指針來訪問父窗口達到旋轉的效果。
例程在文檔同一目錄下,實現的功能是點擊主窗口工具欄的打開文件,然后彈出子窗口選擇文件(選擇普通文件),選擇完點擊確認,子窗口關閉,主窗口的 textEdit 組件會顯示文件內容。
在 main.cpp 中修改主窗口的顯示過程,Rotate 為主窗口類:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Rotate w;//主窗口
/*
* 旋轉主窗口
*/
QGraphicsScene *scene = new QGraphicsScene;
QGraphicsProxyWidget *gpw = scene->addWidget(&w);
gpw->setRotation(90);//旋轉 90 度
QGraphicsView *view = new QGraphicsView(scene);
view->showFullScreen();//全屏顯示
return a.exec();
}
添加完后如圖 94.1:

子窗口通過“this”指針指定父窗口將所有項目界面加載到 QGraphicsScene,創建子窗口對象時代碼如
下:
void Rotate::showOpenFile()
{
gf = new getfile(this);//子窗口調用 scene
gf->show();
connect(gf,SIGNAL(OK_signal()),this,SLOT(showText()));//接收子窗口發送過來的信號
}
完成后如圖 94.2:
主窗口效果如圖 94.3:

點擊工具欄的打開文件,彈出子窗口,在子窗口中選擇文件名,

顯示出文件內容:

在開發板上運行時要根據屏幕大小來調整窗口尺寸。使用此方法一定要把工程中所有的窗口都放到
Scene 中,才能達到旋轉的效果。

關鍵字:Qt
引用地址:
迅為-iMX6ULL開發板-Qt窗口旋轉
推薦閱讀最新更新時間:2025-05-02 13:58
迅為4412開發板實驗_Makefile編譯(上)
本章導讀 在前面入門視頻第十期“搭建編譯環境 uboot_linux_Android”中,只介紹了輸入 Make命令就可以編譯出內核,并沒有介紹它是如何運行的。 在向內核中添加驅動的時候要完成 3 項工作,包括: 1)在 Kconfig 中添加新代碼對應項目的編譯條件,這一部分在實驗 3 已經介紹過; 2)將驅動源碼添加到對應的目錄中,這一步比較好理解,在本章實驗中將給大家演示一下; 3)在目錄 Makefile 中文件中增加針對新代碼的編譯條目,這一部分將在本章節介紹到。 4.1.1 工具 4.1.1.1 硬件工具 1)PC 機 4.1.1.2 軟件工具 1)虛擬機 Vmware 2)Ubuntu12.04.2 3)Ubuntu
[單片機]
迅為IMX6Q開發板-QtE4.7編譯
7.1.1 QtE4.7 編譯器的安裝 QtE4.7 的編譯器是“iTOP-iMX6 資料匯總(不含光盤內容)4_iTOP-4418 開發板 QtE和 Qtopia 系統源碼以及鏡像3_編譯器、補丁包以及其它工具1_編譯器”目錄下的“arm-linux-gcc-4.3.2.tar.gz”。 將“arm-linux-gcc-4.3.2.tar.gz”解壓到 Ubuntu 系統的文件夾“/usr/local/arm”(如果沒有 ARM,則新建一個)中,解壓后,如下圖所示。 然后修改環境變量,修改環境變量前,確定是在 root 用戶下,接著輸入命令“cd”,確定修改的是 root 用戶的環境變量,如下圖。 然后輸入命令“vim .b
[單片機]
迅為4418開發板虛擬機安裝Ubuntu12.04.2初始系統
用戶也可以自己安裝“ Ubuntu 12.04.2”。 這里要注意的是,自己安裝的 Ubuntu 系統中,很多基本軟件都沒有安裝,需要用戶參考“ Android 4.0.3 開發環境搭建以及編譯”章節,安裝基本軟件,搭建開發環境。 另外,系統需要安裝一些插件,所以用戶的 PC 機需要聯網,而且要盡量保證網絡的通暢,這樣安裝起來會節省不少時間。 在網盤“iTOP4418 開發板資料匯總(不含光盤內容)2_iTOP-4418 開發板編譯系統所需要的工具包等2-Ubuntu 系統安裝包1-Ubuntu 12.04.2 安裝包”可以下載初始系統“ubuntu-12.04.2-desktop-amd64.iso”。 下面詳細講解一下,在 P
[單片機]
迅為4412開發板安裝Android Studio(一)
Android studio 是一個 Android 集成開發工具, 基于 IntelliJ IDEA,Android Studio 提供了集成的Android 開發工具用于開發和調試。 同樣也是非常主流的 android 開發工具, 本章將帶領大家安裝AndroidStudio 4.0.1 版本。需要的資料在網盤“ITOP-4412 開發板視頻教程11-迅為電子 Android 開發相關視頻11-迅為電子 Android 開發相關視頻1-迅為電子 Android_JNI 開發jni 教程(一)” 87.1 安裝教程 首先打開 Android studio 的下載網址, 官網地址如下所示, 我們將網址拷貝到瀏覽器打開, 打開界面然
[單片機]
迅為4412開發板接口詳解(一)
核心板 Exynos4412有兩種封裝形式, 其中POP封裝的芯片內含1GB內存, 所以不需要外擴DDR,可大大節省 PCB 面積,功耗控制方面也更好,多用于手持設備當中; SCP 封裝優點是內存擴展更靈活,生產工藝相對更容易控制。 電源芯片 S5M8767 的輸入電壓范圍是 3.5v~5.5v,但是最佳的輸入電壓是 3.7v~4.2v, 也就是 4v 左右,這樣可以使 S5M8767 芯片處于最佳的工作狀態。因為開發板提供的電源是5v 的,所以建議大家在開發產品的時候,需要修改下面兩個地方: 1)在底板上增加 DC-DC 模塊讓核心板工作于 4v 左右,如下圖 1-1.1 所示,在電路中, 將 VSYS(5v)轉成 V
[單片機]
4412開發板Qt定時器-實驗步驟和部分代碼
實驗目標:實現計時器功能,并且點擊打點按鈕將當前時間打印出來。 用到的類有 QTimer 和 QTime,QTimer 是一個計時器類,相當于秒表,QTimer 是一個時間類,相當于手表。 一:實驗步驟(迅為4412開發板) 步驟一:界面布局: 拖拽組件,在屬性編輯欄設置大小,然后選中按鈕,點擊水平布局; 在屬性編輯欄設置 Label 的最小高度為 50,選中全部組件,點擊柵格布局,如圖: 根據實際情況調整大小,更改對象名后如下圖: 步驟二:創建計時器類對象 timer 和時間類 time,設置初始時間為 0。 1 2 3 4 5 6 7 8 class TimerP : public QMainWindow { Q_
[單片機]
使用MSP432+ESP8266+QT制作上位機進行WIFI通信
前言 在進行電子設計的過程中,常常會有需要進行WIFI傳輸的要求,我們使用ESP8266接收MSP432的串口數據,通過TCP/IP協議進行數據傳輸,利用QT編寫上位機在手機端進行數據的顯示可以完成項目的要求。 1.MSP432P401R數據的串口傳輸 MSP432P401R具有四個串口,我們使用串口3進行與ESP8266的數據傳輸,我們在主程序中編寫串口的發送,注意MSP432串口的RX應與ESP8266的TX相連,MSP432串口的TX應與ESP8266的RX相連,同時兩個模塊需要共地連接,同時收發兩端的波特率需要相同。 串口發送代碼如下: USARTA3_SendString(SEND_APP);
[單片機]
Qt5.7.0移植到4412
搞了幾天,終于把Qt5.7移植到4412上,下面是一些自己移植過程中的記錄,希望能幫到其他人。 一、需要下載的文件, 下載qt5.7源碼qt-everywhere-opensource-src-5.7.0.tar.xz http://www.download3k.com/Install-Qt.html 下載ARM交叉編譯工具arm-2014.05-29-arm-none-Linux-gnueabi-i686-pc-linux-gnu.tar.bz2 http://www.veryarm.com/arm-none-linux-gnueabi-gcc 下載tslib1.4 http://vdisk.weibo.com/s/AcUH
[單片機]