国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python Qt GUI設計:UI界面可視化組件、屬性概述(基礎篇—3)

SexySix / 3781人閱讀

摘要:屬性配置界面的定義了組件的初始大小,其他屬性都與組件大小調整時控制組件的大小相關。屬性由四個值組成,分別是水平策略垂直策略水平伸展和垂直伸展。屬性缺省值為空字符串。此屬性默認為空。是對屬性的補充說明。

目錄

1、界面組件

1.1、布局組件(Layouts)

1.2、分隔組件(Spacers)

1.3、按鈕組件(Buttons)

1.4、表項視圖(Item Views)

1.5、表項組件(Item Widgets)

1.6、容器組件(Containers)

1.7、輸入組件(Input Widgets)

1.8、顯示組件(Display Widgets)

2、組件屬性


Qt Designer中有很多UI界面組件,每種組件相對應有可設置的屬性,本篇博文來讓我們簡單了解一下吧~

1、界面組件

在Qt Designer中,提供了八大類界面可視化組件分別為:布局組件(Layouts)、分隔組件(Spacers)、按鈕組件(Buttons)、表項視圖(Item Views)、表項組件(Item Widgets)、容器組件(Containers)、輸入組件(Input Widgets)、顯示組件(Display Widgets),在Qt Designer的應用界面設計時,可以將各種功能的組件拖拽到窗口上進行應用的可視化界面設計,而每種組件又可以指定不同的屬性。

1.1、布局組件(Layouts)

布局組件包括:Vertical Layout(水平布局)、Horizontal Layout(垂直布局)、Grid Layout(網格布局)、Form?Layout(表單布局)。

1.2、分隔組件(Spacers)

分隔組件包括:Horizontal Spacer(水平分隔)、Vertical? Spacer(垂直分隔)。

1.3、按鈕組件(Buttons)

按鈕組件包括:Push Button(按鈕)、Tool Button(工具按鈕)、Radio Button(單選框)、Check Box(復選框)、Command Link Button(命令鏈接按鈕)、Dialog Button Box(選擇按鈕)。

1.4、表項視圖(Item Views)

表項視圖包括:List View(列表視圖)、Tree View(樹狀視圖)、Table View(表格視圖)、Column View(列表視圖)、Undo View(撤銷視圖)。

1.5、表項組件(Item Widgets)

表項組件包括:List Widget(列表表項)、Tree Widget(樹狀表項)、Table Widget(表格表項)。

1.6、容器組件(Containers)

容器組件包括:Group Box(組合框,可以在內部添加內容,并修改標題頭)、Scroll Area(帶滑動條的框)、Tool Box(抽屜式框)、Tab Widget(標簽式框)、Stacked Widget(棧式,需要信號啟動)、Frame(帶邊框的布局)、Widget(不帶邊框的布局)、MDI Area(分欄顯示)、Dock Widget(浮動窗口)、QAxWidget(只可以在Windows環境使用)。

1.7、輸入組件(Input Widgets)

輸入組件包括:Combo Box(下拉選框)、Font Combo Box(下拉字體框)、Line Edit(行編輯區)、Text Edit(文本編輯區,只可以查看文字、圖片和動畫)、Plain Text Edit(文字編輯框)、Spin Box(調整數字框)、Double Spin Box(浮點型數字調整框)、Time Edit(時間)、Data Edit(日期)、Data/Time Edit(時間和日期)、Dial(羅盤)、Horizontal Scroll Bar(水平滾動條)、Vertical Scroll Bar(垂直滾動條)、Horizontal Slider(水平滑動條)、Vertical Slider(垂直滑動條)、Key Sequence Edit(快捷方式)。

1.8、顯示組件(Display Widgets)

顯示組件包括:Label(標簽組件,可查看文本、網頁、圖片和動畫等)、Text Browser(文本框)、Graphics View(繪圖工具)、Calendar Widget(日歷)、LCD Number(LCD 數碼管)、Progress Bar(進度條)、Horizontal Line(水平分割線)、Vertical Line(垂直分割線)、OpenGL Widget(OpenGL(Open Graphics Library,開放圖形庫)圖形渲染的部件,可以在PyQt和Qt的應用中顯示圖形(包括2D和3D圖形))、QQuickWidget(加載QML文件)。

2、組件屬性

第二部分有較多內容引用、學習該文章:Designer組件屬性編輯界面中QWidget類相關屬性詳解,很多詳細知識點可以參照該博文。

在Qt Designer中的每種組件屬性編輯部分可以進行設置,如下圖所示:

每種組件的屬性會有所不同之處,這里以QWidget窗口為例,簡單聊聊其屬性,如下所示:

讓我們一起看看吧~?

可以看到,最頂層的節點為組件對應的父類(Form),從上往下排列的節點,基本按照父類在上,子類在下的方式排列,很好的體現了類的繼承關系以及相關屬性是哪個類提供的。

enabled屬性

enabled屬性用于表示組件是否可用,一個組件的部件可以接收和處理鼠標和鍵盤事件,當組件不可用時則無法接收和處理鼠標和鍵盤事件。

enabled屬性缺省值為True,有些組件在被禁用時會以不同的方式顯示自己。例如,按鈕可能會將其標簽顯示灰色。

控制組件大小的屬性有:geometry 、sizePolicy、minimumSize、maximumSize、sizeIncrement和baseSize,用于控制組件的初始大小以及動態調整大小的控制。屬性配置界面的geometry定義了組件的初始大小,其他屬性都與組件大小調整時控制組件的大小相關。

geometry屬性

geometry屬性保存組件相對于其父級對象的位置和大小,Qt實際上是以一個長方形來表示組件的位置和大小的,包括左上角的坐標位置、長和寬。

sizePolicy屬性

sizePolicy屬性用于說明組件在布局管理中的縮放方式,當部件沒有在布局管理器中時,該設置無效。

sizePolicy屬性由四個值組成,分別是水平策略、垂直策略、水平伸展和垂直伸展。

實踐可參見:Python-PyQt5開發學習筆記(二):Layout(布局)

minimumSize屬性

mimimumSize屬性表示組件能被縮小到的最小尺寸,單位為像素,縮小到該尺寸后不能再進一步縮小了。如果組件在布局管理器中,且布局管理器也設置了最小尺寸,則部件本身的最小尺寸以部件的mimimumSize為準,布局管理器設置的不起作用。

maximumSize屬性

maximumSize屬性表示組件能被放大到的最大尺寸,放大到該尺寸后不能再進一步放大了。組件的缺省最大值為:(16777215,16777215)。

sizeIncrement屬性

sizeIncrement屬性表示組件調整大小時的每次變化的增量大小(單位:像素)的基數,實際調整大小計算公式如下:
width = baseSize().width() + i * sizeIncrement().width()
height = baseSize().height() + j * sizeIncrement().height()

其中i,j為非負整數。

baseSize屬性

baseSize屬性是組件的基礎大小(單位:像素),如果組件設定了sizeIncrement,該屬性用于在調整組件尺寸時計算組件應該調整到的合適值,這個屬性缺省值是(0,0)。

palette屬性

palette屬性是調色板作用,管理著控件和窗體的所有顏色,可用于管理控件的外觀顯示以及設置組成。

font屬性

font屬性中可以設置組件的字體屬性,包括字體的字體簇(Family)、大小(Size)、是否粗體(Bold)、是否斜體(Italic)、是否帶下劃線(Underline)、是否帶刪除線(Strikeout)等。

cursor屬性

cursor屬性保存組件的鼠標光標形狀,當鼠標位于該組件上時就會呈現該屬性設置的光標形狀,可取值的范圍及含義如下圖所示:

mouseTracking屬性

mouseTracking屬性用于保存是否啟用鼠標跟蹤,缺省情況是不啟用的。不啟用的情況下,對應部件只接收在鼠標移動同時至少一個鼠標按鍵按下時的鼠標移動事件,啟用鼠標跟蹤的情況下,任何鼠標移動事件部件都會接收。

tabletTracking屬性

tabletTracking屬性保存是否啟用組件的平板跟蹤,缺省是不起用的。不啟用平板跟蹤的情況下,部件僅接收觸控筆與平板接觸或至少有個觸控筆按鍵按下時的觸控筆移動事件。
如果組件啟用了平板跟蹤功能,部件能接收觸控筆靠近但未真正接觸平板時的觸控筆移動事件,這可以用于監視操作位置以及部件的輔助操作功能(如旋轉和傾斜),并為圖形界面提供這些操作的信息接口。

focusPolicy屬性

focusPolicy屬性可以設置組件的焦點策略。設置參數說明如下所示:

  • NoFocus:組件不支持焦點;
  • TabFocus:Tab鍵獲取焦點;
  • ClickFocus:鼠標按下獲取焦點;
  • StrongFocus:Tab鍵和鼠標按下獲取焦點;
  • WheelFocus:鼠標輪滾動獲取焦點。

contextMenuPolicy屬性

contextMenuPolicy屬性是組件的快捷菜單策略,快捷菜單通過在部件上點擊鼠標右鍵觸發。設置參數說明如下所示:

來源:CSDN博主老猿Python

acceptDrops屬性

acceptDrops屬性表示當前組件是否接受鼠標拖放事件,鼠標拖放應該是與鼠標拖拽結合在一起的,在Qt Designer中可以通過屬性acceptDrops設置部件是否接受鼠標拖放事件。如果部件接受拖放,則在鼠標拖放時,拖放事件會發送給鼠標當前光標下接受拖放的第一個部件。

如果組件設置了acceptDrops屬性為True,則就是通知系統該組件可接受鼠標拖放事件。

windowTitel屬性

windowTitle屬性是對窗口標題進行設置。

windowIcon屬性

windowIcon屬性是對窗口圖標進行設置。

windowOpacity屬性

windowOpacity屬性為浮點數,表示組件透明度,為1完全不透明,為0完全透明,缺省是1。

toolTip屬性

toolTip屬性設置組件的toolTip提示信息,toolTip提示信息在鼠標放到控件上會浮動出一個小框顯示提示信息。

toolTipDuration屬性

toolTipDuration屬性控制toolTip提示信息顯示的時長,單位是毫秒,如果設置為-1,則顯示時長根據toolTip內容的長度來計算。

statusTip屬性

statusTip屬性保存statusTip提示信息,statusTip提示信息在鼠標放到控件上時在窗口的狀態欄顯示提示信息,如果窗口無狀態欄則不顯示。statusTip屬性缺省值為空字符串。

whatsThis屬性

whatsThis屬性保存組件的幫助信息。whatsThis的幫助信息一般在組件獲得焦點后按Shift+F1彈出顯示,如果這個快捷鍵被別的功能占用,則whatsThis的幫助信息可能無法展示。有些對話窗提供一個帶問號的按鈕可以點擊顯示whatsThis的幫助信息。whatsThis屬性缺省值為空字符串。

accessibleName屬性

accessibleName屬性是輔助閱讀中顯示的組件的名稱,用于殘疾人輔助閱讀。對于大多數小部件,無需設置此屬性,因為Qt會調用部件相關屬性顯示,如按鈕將顯示按鈕的文本,但當小部件不提供任何文本時,設置此屬性很重要。例如,只包含圖標的按鈕需要將此屬性設置為與屏幕閱讀器一起使用。此屬性默認為空。

accessibleDescription屬性

accessibleDescription屬性保存輔助技術所看到的部件描述,用于殘疾人輔助閱讀。是對accessibleName屬性的補充說明。此屬性默認為空。

layoutDirection屬性

layoutDirection屬性保存的是組件的布局方向,有三個取值:

  • LeftToRight:從左到右布局;
  • RightToLeft:從右到左布局;
  • LayoutDirectionAuto:自動布局。

autoFillBackground屬性

autoFillBackground屬性可以確認組件背景是否自動填充。

styleSheet屬性

styleSheet屬性是定義組件外觀的屬性樣式表,在Qt中styleSheet樣式表是類似于html的css樣式一樣的方法,只是專門為Qt中的部件開發的。styleSheet的定義語法也是類似CSS,并且是跨平臺支持的。

locale屬性

locale屬性用于設置語言環境,包括語言和國家。如果一個部件沒有設置語言環境,則使用父對象的語言環境或者默認語言環境(如果部件是頂層部件)。

windowFilePath屬性

windowFilePath屬性僅對窗口對象有效,用于關聯一個窗口和對應的文件及路徑。
當窗口沒有設置標題屬性的情況下,則窗口標題展示展示windowFilePath對應的文件名的信息(路徑信息不展示),如果二者都設置,則優先使用窗口標題屬性的設置作為標題。

該屬性缺省為空,這個功能在窗口打開文件進行操作時可以使用來標記打開的文件。

inputMethodHints屬性

inputMethodHints屬性只對輸入組件有效,輸入法使用它來檢索有關輸入法應如何操作的提示,例如,如果設置了只允許輸入數字的標志,則輸入法可能會更改其可視組件,以反映只能輸入數字。相關取值及含義如下:

  • ImhNone:沒有提示;
  • ImhHiddenText:輸入時不顯示輸入字符;
  • ImhSensitiveData:輸入的文本不會由活動輸入法存儲在任何持續性存儲中;
  • ImhNoAutoUppercase:輸入法不可在句子結束時自動切換到大寫;
  • ImhPreferNumbers:數字優先(不是必須);
  • ImhPreferUppercase:大寫字母優先(不是必須);
  • ImhPreferLowercase:小寫字母優先(不是必須);
  • ImhNoPredictiveText:輸入時不使用聯想預測文字;
  • ImhData:文本編輯器用于日期字段輸入;
  • ImhTime:文本編輯器用于時間字段輸入;
  • ImhPreferLation:拉丁語字符優先(不是必須);
  • ImhMultiLine:可以在文本字段中輸入多行;
  • ImhNoEditMenu:不適用內置編輯菜單;
  • ImhNoTextHandles:不使用內置文本光標和選擇操作方式;
  • ImhDigitsOnly:只允許數字;
  • lmhFormattedNumbersOnly:只允許輸入數字(包括小數點和負數符號);
  • lmhUppercaseOnly:只允許輸入大寫字符;
  • lmhLowercaseOnly:只允許輸入小寫字符;
  • lmhDialableCharactersOnly:只允許輸入適合電話撥號的字符;
  • lmhEmailCharactersOnly:只允許輸入適合電子郵箱地址的字符;
  • lmhUrlCharactersOnly:只允許輸入適合URL的字符;
  • lmhLatinOnly:只允許輸入拉丁語字符;
  • lmhExclusivelnputMask:若使用了任何獨占標志,此掩碼非零。

windowModality屬性

windowModality屬性只對窗口對象有效,保存的是哪些類型的窗口被模式窗口阻塞。模式窗口防止其他窗口中的部件獲取輸入。此屬性的值控制對應窗口可見時阻塞哪些類型的窗口獲取輸入。在模式窗口可見時更改此屬性無效。相關取值及含義如下:

  • NonModal:窗口不是模式窗口;
  • WindowModal:窗口是單窗口層次結構的模式,并阻止其父窗口、所有祖父母窗口以及其父窗口和祖父母窗口的所有兄弟窗口獲得瑜入;
  • ApplicationModal:窗口是應用模式窗口,阻塞所有其他應用窗口獲得輸入。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/119687.html

相關文章

  • 圖解——PyQt4從入門到運用

    摘要:將程序包裝在界面里,可以將輸入通過多種途徑如文本框彈出路徑選擇等輸入到程序里。將輸出通過文本框顯示出來將執行信息如如報錯信息運行進度通過文本框或進度條顯示出來文章安排先介紹安裝和配合的使用。 作為一個程序的開發者,我們僅僅需要在相應路徑通過命令行就可執行那個程序。但是,不懂行的人不理解這個黑框框的東西,陌生領域任何人都沒有安全感,所以他們是拒絕接受一個項目僅僅只是通過一個黑框框來執行的...

    史占廣 評論0 收藏0
  • Python 小白的 PyQt5 項目實戰(1)安裝與環境配置

    摘要:工具可以直接使用方式安裝和的環境配置使用集成開發工具的小白,在安裝庫以后,還要對和進行環境配置,將其集成到中。如果小白的或安裝在其他路徑下,則從對應的目錄找到,或者在資源管理器中搜索文件找到安裝路徑。 ...

    Chao 評論0 收藏0
  • Freecad的Python腳本

    摘要:在控制臺中,您可以逐個編寫命令,這些命令在按下時執行宏可以包含由多行組成的更復雜的腳本,只有在執行宏時才會執行。更好的是,您可以在中設置一個選項,以在控制臺中顯示腳本命令。 Python是一種編程語言,使用起來非常簡單,學習起來非常快。它是開源的,多平臺的,可以單獨用于各種各樣的事情,從簡單的shell腳本編程到非常復雜的程序。但其最廣泛的用途之一是作為腳本語言,因為它很容易嵌入到其他...

    zengdongbao 評論0 收藏0
  • 介紹一項讓 React 可以與 Vue 抗衡的技術

    摘要:明明如日中天,把它與倒過來,給加點東西或可與抗衡。在之后,大版本有十數個,只有最近推的才回歸正常等后人總結歷史,無疑會把與之間的所有都稱為垃圾。讓網頁支持所見即得的可視化設計,是框架的最高形態,以前沒有類似工具,主要因為技術做不到。 好吧,我承認我是標題黨。React 明明如日中天,把它與 Vue 倒過來,給 Vue 加點東西或可與 React 抗衡。不過,這兩年 Vue 干的正是這事...

    icattlecoder 評論0 收藏0

發表評論

0條評論

SexySix

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<