導航:首頁 > 源碼編譯 > Qt之統一界面格式基調源碼

Qt之統一界面格式基調源碼

發布時間:2023-04-08 15:23:07

『壹』 qt界面顯示內容相同

問題描述:
QT中使用ui設計時設計出的界面顯示後效果不一致
(如果ui界面所在類繼承於QWidget似乎顯示正常,但是如果繼承的是其它自定義類可能出現顯示不一致的問題攔沖耐,在網上找到說使用窗體布局(form)可以解決,但試過沒效果)
問題解決
可以先嘗試更換父類,如果無法更換父類似乎只能硬改了,直到達到想要的效果
1.控制項尺寸不一致:簡春如果界面尺寸已經固定(ui->setFixedSize(xx,xx)),在ui設計界面更改最小值最小值就行,使得最大最小值一致
2.GroupBox標題顯示(ui設計時標題居左但顯示時標題未居左顯示):構造函數加上ui->GroupBox->setStyleSheet(「QGroupBox::title {subcontrol-position: top left;}」);
3.控制項邊距過大或過小:ui->gridLayout_3->setSpacing(0);(gridLayout_3為窗口總體布局)或者在ui設計界面總體設置各個部件布局與間隔
qt
QT creator的ui界面和實際運行出來的界面不一致判態
8469閱讀·7評論·4點贊

『貳』 求Qt Creator 界面的源代碼

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<枝培class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>516</width>伏搭皮
<height>330</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralWidget">
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>90</x>
<y>40</y>
<width>111</width>
<height>51</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
<widget class="QComboBox" name="comboBox">
<property name="geometry">
<rect>
<x>90</x>
<y>120</y>
<width>121</width>
<height>31</height>
</rect>缺差
</property>
</widget>
<widget class="QLineEdit" name="lineEdit">
<property name="geometry">
<rect>
<x>90</x>
<y>180</y>
<width>101</width>
<height>27</height>
</rect>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menuBar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>516</width>
<height>23</height>
</rect>
</property>
</widget>
<widget class="QToolBar" name="mainToolBar">
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
</widget>
<widget class="QStatusBar" name="statusBar"/>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>

『叄』 Qt如何設置界面風格

設置方法:

每個widget都可以設置風格

setStyle(QStyle style)

對QApplication設置QStyle即對所有

QApplication::setStyle(QStyleFactory::create("Fusion"));

其他widget如過沒有被設置QStyle,默認使用QApplication的

QStyle主要可重寫介面

繪制復雜控制項

virtual void drawComplexControl(ComplexControl control, const QStyleOptionComplex * option, QPainter * painter, const QWidget * widget = 0) const = 0

繪制一般控制項

virtual void drawControl(ControlElement element, const QStyleOption * option, QPainter * painter, const QWidget * widget = 0) const = 0

繪制最基礎的控制項(小箭頭什麼的)

virtual void drawPrimitive(PrimitiveElement element, const QStyleOption * option, QPainter * painter, const QWidget * widget = 0) const = 0

所有這些介面的參數都類似

第一個為QStyle類中定義的枚舉值,晌大大具體參考Qt文檔,表示你要修改的控制項類型

後面幾個顧名思義好了

獲得當前平台支持的原有的QStyle

自定義QStyle

可以重寫已有的QStyle稍微修改下

也可以繼承一個,一般繼承於QProxyStyle,或者QCommonStyle

將自定義的style做成宴豎插件供其他人使用

Qt style sheet qss的使用

使用.qss 文件

如果一個Qt style sheet被激活,則它會對widget的style進行封裝

這是一個類似css的東西

子widget也會被修改

可以對整個app應用一個樣式,然後對某個控制項指定某個樣式

這是一個優先順序別最高的樣式配置,會覆蓋QStyle,或者說包裝QStyle

QStyle和qss的區別

QStyle是可以重寫畫控制項的,你可以重新設置畫刷畫線,當然也你可以只是設置背景顏色。例如,checkbox,原來是打鉤的,現在改成深色

qss 改的相對表面一點,修改背景顏色 背景圖片什麼的

一個改骨頭一個改皮

可在QtDesigner里更改樣式表

『肆』 在linux上使用qt進行界面開發時如何引用xwindow的

先創建一個QWidget對象。
1、在Qt程序中創建一個QWidget對象,並調用其show()函檔鍵數以顯激枯示窗口。
2、調用QWidget對象明蠢洞的winId()函數獲取窗口句柄(即窗口ID號)。
3、使用XOpenDisplay()函數打開與XServer的連接。
4、使用XCreateSimpleWindow()函數創建一個XWindow,並設置其屬性和事件響應函數等。
5、使用XMapWindow()函數將新創建的窗口映射到屏幕上。
6、使用XFlush()函數刷新緩沖區並發送請求給XServer。

『伍』 qt的unicode宏定義在哪

Qt是一個跨平台的C++圖形用戶界面(GUI)庫。Qt提供了一個統一的編碼方案,即Unicode編碼。Unicode編碼是虛差局一種跨平台的字元編碼方案,它可以表示世界上所有的文字。Qt在源代碼中提供了一個宏定義,即UNICODE宏,用於指定程序使用的編碼方式。如果在編譯時定義了UNICODE宏,那麼程序將使用Unicode編碼方式來進行編碼,如果沒有定義,那麼程序將慶塵使用平台默認的編碼方式。通常來說,UNICODE宏定義位於Qt的頭文件中,例如qglobal.h文件。您可以通過查看該差讓文件來了解具體的定義方式。

『陸』 qt5.5怎麼設置顯示左側源碼頭文件列表

qt5.5怎麼設置顯示左側源碼頭文件列表
這個是mainwindow.ui的創建文件來的,mainwindow.ui界面上的都是 ui_mainwindow.h在控制的,在項目里是不顯示這個頭文件的,這個不用打開啊,你想用mainwindow.ui界面的控制項,那你直接包含:ui_mainwindow.h就可以了。
直接原因是,你的模晌好型中可能使用了中文字元。有些情況下,模型中的確沒有直接使用到中文字元,但如果Windows用戶名是中文的,宴培鉛由於保存模中物型文件時會自動保存版本信息(例如誰創建、誰最後修改),也會導致模型中加入了中文字元。

『柒』 怎麼讓qt背景覆蓋全部界面

關於怎麼讓qt背景覆蓋全部界面相關資料如下
1.Qss 的setStyleSheet設圓清旁置背景圖片

1.1background-image設置平鋪或者居中

這種方法設置的要點是要將圖片添加到qrc文件中,形成資源路徑,然後在QT界面編輯或者程序代碼中通過設置路徑來實現背景圖片設置。圖片大小不能自適應控制項大小。只能可以實現平正雀鋪或者居中顯示。background-position:center;設置顯示位置,background-repeat:no-repeat;設置是否平鋪;

(1)平鋪重復顯示

QWidget#widgetWinPic

{

background-image:url(:/FaceMatch/Resources/pic/viewbackin.png);

background-repeat:repeat;

}

或者代碼中ui.widgetWinPic.setStyleSheet("QPushButton{ background-image: url(:/FaceMatch/Resources/pic/viewbackin.png);background-repeat:repeat;");

(2)居中不重復設置

QWidget#widgetWinPic

{

background-image:url(:/FaceMatch/Resources/pic/viewbackin.png);

background-position:center;

background-repeat:no-repeat;

}

或者代碼中 ui.widgetWinPic.setStyleSheet("QPushButton{ background-image: url(:/FaceMatch/Resources/pic/viewbackin.png);background-position:center;background-repeat:no-repeat;");

1.2 border-image設置按照控制項大小縮放填充整個控制項

圖片被拉伸填滿整個橘橡控制項,可以實現縮放拉伸填充。會跟著控制項的大小變化進行縮放,下圖左側是正常尺寸,右側是放大後的樣子

閱讀全文

與Qt之統一界面格式基調源碼相關的資料

熱點內容
單片機的功能模塊 瀏覽:771
安卓手機如何錄制視頻長時間 瀏覽:285
安全問題app哪個好 瀏覽:445
壓縮水會變冰嗎 瀏覽:526
小說配音app哪個靠譜 瀏覽:820
編譯iso 瀏覽:944
照片生成pdf格式 瀏覽:194
病歷轉pdf 瀏覽:835
雲伺服器配硬體 瀏覽:978
伺服器10k什麼意思 瀏覽:21
pdfeditor漢化 瀏覽:884
新科學pdf 瀏覽:746
現在還有c語言編譯嗎 瀏覽:675
哪裡買到單片機 瀏覽:480
linux文件打開數量 瀏覽:510
編譯原理中什麼是l屬性文法 瀏覽:372
硬碟加密時出現的問題 瀏覽:61
如何退域命令 瀏覽:108
看書的app哪裡看 瀏覽:291
伺服器怎麼調大 瀏覽:4