【pyqt5學習】——QToolTip,QLabel控件,伙伴關系

目錄

0、學習資源

1、給控件設置提示信息——QToolTip

2、QLabel控件(顯示圖像、設置超鏈接、信號綁定)

3、QLabel伙伴關系

1)代碼

?2)效果

3)知識點addWidget


0、學習資源

PyQt5教程,來自網易云課堂_嗶哩嗶哩_bilibilihttps://study.163.com/pycharm+pyqt5視頻來自網易云課堂https://www.bilibili.com/video/BV154411n79k

1、給控件設置提示信息——QToolTip

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2022/5/17 21:02
# @Author  : @linlianqin
# @Site    : 
# @File    : 給控件添加信息提示.py
# @Software: PyCharm
# @description:from PyQt5.QtWidgets import QMainWindow,QToolTip,QPushButton,QHBoxLayout,QWidget,QApplication
from PyQt5.QtGui import QFontclass messageTipLearn(QMainWindow):def __init__(self):super(messageTipLearn,self).__init__()# 設置一個按鈕self.button = QPushButton()self.button.setText("信息提示")# 設置一個橫向布局self.hLayout = QHBoxLayout()# 設置一個窗口self.widget = QWidget()# 將按鈕放在布局中self.hLayout.addWidget(self.button)# 將布局放在窗口self.widget.setLayout(self.hLayout)# 將窗口添加到界面上self.setCentralWidget(self.widget)# 設置提示信息的格式QToolTip.setFont(QFont("SanSerif",12))# 設置提示內容self.button.setToolTip("這是一個按鈕")# 設置提示信息顯示的時長,5sself.button.setToolTipDuration(5000)if __name__ == '__main__':import sysapp = QApplication(sys.argv)win = messageTipLearn()win.resize(300,300)win.setWindowTitle("信息提示學習")win.show()sys.exit(app.exec_())

2、QLabel控件(顯示圖像、設置超鏈接、信號綁定)

QLabel控件有兩個信號,前提都是label控件上面的內容為超鏈接文本

一個信號是劃過label上面的鏈接時觸發:linkhovered

一個信號是點擊label上面的鏈接時觸發:linkActivated

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2022/5/17 21:37
# @Author  : @linlianqin
# @Site    : 
# @File    : QLabelDemo.py
# @Software: PyCharm
# @description:from PyQt5.QtWidgets import QMainWindow,QToolTip,QLabel,QVBoxLayout,QWidget,QApplication
from PyQt5.QtGui import QFont,QPixmap
from PyQt5.QtCore import Qtclass labelDemo(QWidget):def __init__(self):super(labelDemo, self).__init__()self.InitUi()def InitUi(self):# 創建四個label控件## label1標題欄,居中顯示label1 = QLabel()label1.setText("這是一個label標簽控件演示程序")label1.setAlignment(Qt.AlignCenter)## label2創建鏈接label2 = QLabel()label2.setText("<a href='#'>歡迎使用Python GUI Label 控件</a>")## label3顯示圖像label3 = QLabel()label3.resize(100,300)label3.setScaledContents(True)  # 設置圖像自適應控件大小label3.setPixmap(QPixmap("./1.jpg"))## label4顯示超鏈接label4 = QLabel()label4.setOpenExternalLinks(True)label4.setText("<a href='http:www.baidu.com'>進入百度搜索</a>")# 布局self.vlayout = QVBoxLayout()self.vlayout.addWidget(label1)self.vlayout.addWidget(label2)self.vlayout.addWidget(label3)self.vlayout.addWidget(label4)self.setLayout(self.vlayout)label2.linkHovered.connect(self.hoverLabelSlot)label4.linkActivated.connect(self.clickedLabelSlot)# 劃過label上面鏈接觸發def hoverLabelSlot(self):print("劃過label控件觸發的事件")# label上鏈接點擊觸發事件def clickedLabelSlot(self):print("點擊label控件觸發的事件")if __name__ == '__main__':import sysapp = QApplication(sys.argv)win = labelDemo()win.resize(300,300)win.setWindowTitle("label控件學習")win.show()sys.exit(app.exec_())

?

3、QLabel伙伴關系

伙伴關系其實就是通過一個控件來控制另一個控件,比如一個登陸界面,需要輸入用戶名和密碼,通常我們需要用鼠標或者觸摸屏來點擊輸入框后再進行輸入,這樣再輸入用戶名后又得進行鼠標或者觸摸屏的操作,當輸入框繁多的時候,這種操作就會顯得非常的繁瑣,而通過設置伙伴關系,通過鍵盤的組合鍵就可以實現定位到指定的輸入框進行輸入

Windows系統下通過Alt+指定字母鍵來實現。

具體可以參考文章:

PyQt5之設置控件之間的伙伴關系_Anony吧的博客-CSDN博客_pyqt5 伙伴關系PyQt5之設置控件之間的伙伴關系伙伴關系:設置兩個控件之間的關聯,通過一個控件控制另一個控件。1、首先選擇在Widget Box中拖入一個Frame屬性放在窗口中,再往窗口中添加Label、Line Edit屬性,并且修改Label屬性的顯示值,在這里我采用容器布局管理,對整個Frame容器使用表單布局,效果圖如下:2、向每個Label屬性添加熱鍵(&A)、(&B)、(&C),如下圖:熱鍵:又叫快捷鍵,通過操控鍵盤的特點鍵來快速完成指定的操作,代替了鼠標的繁瑣移動。https://blog.csdn.net/qq_44880255/article/details/106365681

1)代碼

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2022/5/20 16:10
# @Author  : @linlianqin
# @Site    : 
# @File    : QLabelBuddy伙伴關系.py
# @Software: PyCharm
# @description:from PyQt5.QtWidgets import QDialog,QLabel,QLineEdit,QPushButton,QGridLayout,QApplicationclass QLabelBuddy(QDialog):def __init__(self):super(QLabelBuddy, self).__init__()self.InitUI()# 初始化界面def InitUI(self):self.setWindowTitle("QLabel控件伙伴關系")# 創建label和lineEditlabel1 = QLabel("用戶名(&A):",self)lineEdit1 = QLineEdit(self)# 設置二者伙伴關系label1.setBuddy(lineEdit1)# 創建label和lineEditlabel2 = QLabel("密碼(&B):",self)lineEdit2 = QLineEdit(self)# 設置二者伙伴關系label2.setBuddy(lineEdit2)# 創建按鈕btn1 = QPushButton("登錄")btn2 = QPushButton("退出")# 創建柵格布局,將控件放在布局里面mainLayout = QGridLayout(self)mainLayout.addWidget(label1,0,0) # 將控件label1放置在第一行第一列mainLayout.addWidget(lineEdit1,0,1,1,2) # 將控件lineEdit控件放在第一行第二列,并且占一行兩列的大小位置mainLayout.addWidget(label2,1,0) # 將控件label1放置在第一行第一列mainLayout.addWidget(lineEdit2,1,1,1,2) # 將控件lineEdit控件放在第一行第二列,并且占一行兩列的大小位置mainLayout.addWidget(btn1,2,1) # 將控件label1放置在第一行第一列mainLayout.addWidget(btn2,2,2) # 將控件lineEdit控件放在第一行第二列,并且占一行兩列的大小位置if __name__ == '__main__':import sysapp = QApplication(sys.argv)demoWin = QLabelBuddy()demoWin.show()sys.exit(app.exec_())

?2)效果

這里通過

Alt+A可以將光標定位在用戶名的輸入框中

Alt+B可以將光標定位在密碼的輸入框中?

其實可以理解為快捷鍵或熱鍵

3)知識點addWidget

1、往柵格布局里面加控件

addWidget(需要添加的控件名,布局的第幾行**索引從0開始**,第幾列,大小占幾行,占幾列)

2、setBuddy——將兩個控件設置伙伴關系

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255403.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255403.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255403.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Hello IT

從高中的計算機課開始學習如何按下開機鍵&#xff0c;如何上網&#xff0c;如何背誦五筆字根&#xff0c;再到大學中如何使用office,利用C編碼做算法&#xff0c;到現在IT中的偽一員&#xff0c;時間算起來也不短&#xff0c;然正在入門是在2010年8月杭州參加嵌入式培訓&#x…

ARM指令集2

ARM指令集2 ARM微處理器支持加載/存儲指令用于在寄存器和存儲器之間傳送數據&#xff0c;加載指令用于將存儲器中的數據傳送到寄存器&#xff0c;存儲指令則完成相反的操作。 LDR指令&#xff08;與MOV有區別&#xff0c;MOV只能操作通用寄存器&#xff09; LDR指令格式為&…

SylixOS中select原理及使用分析

2019獨角獸企業重金招聘Python工程師標準>>> 1. select接口簡介 1.1 select接口使用用例 select是操作系統多路I/O復用技術實現的方式之一。 多路I/O復用技術大致使用場景為&#xff1a;構造一張感興趣的文件描述符列表&#xff0c;然后調用多路復用的IO接口&#x…

【pyqt5學習】——QLineEdit學習(回顯模式)

目錄 1、回顯模式 2、成果顯示 3、知識點 1&#xff09;FormLayout布局添加addRow方法 2&#xff09;在輸入框顯示灰色提示字體&#xff0c;輸入內容時消失setPlaceholderText 3&#xff09;設置回顯模式setEchoMode 4、完整代碼 1、回顯模式 QLineEdit控件的主要功能是輸…

有關機械手臂控制中的兩個重要輸入參數

1.在機械手臂中有兩個重要參數。一個是編碼器的值&#xff0c;另外一個是馬達的電流值。根據這兩個可以獲得機械手臂的運動學&#xff0c;動力學的一些數據。第一重要特征參數 是DH參數&#xff0c;另外一個就是每個軸的質心參數。

MySQL的權限分配

MySQL 賦予用戶權限命令的簡單格式可概括為&#xff1a;grant 權限 on 數據庫對象 to 用戶&#xff0c;如 GRANT PRIVILEGES ON datebase.* to user% IDENTIFIED by passwd;一、給表數據賦權 grant 普通數據用戶&#xff0c;查詢、插入、更新、刪除 數據庫中所有表數據的權利。…

用HttpURLConnection發送http請求

//發送http請求try {//1.使用網址構造一個URL對象 URL url new URL(path);//2.獲取連接對象 HttpURLConnection conn (HttpURLConnection) url.openConnection();//3.設置一些屬性 //設置請求方式&#xff0c;注意大寫conn.setRequestMethod("GET");//設置請求超時…

【pyqt5學習】——QLineEdit控件輸入校驗器Validator、掩碼setInputMask限制輸入、textChanged信號

目錄 1、輸入校驗器——限制輸入框輸入的內容 1&#xff09;校驗器類型——整數、浮點數、數字字母結合&#xff08;正則&#xff09; 2&#xff09;步驟 3&#xff09;結果 ?編輯 ?編輯 4&#xff09;完整代碼 2、利用掩碼進行輸入的限制 0&#xff09;掩碼對照表 1…

Call requires API level 3 (current min is 1)

結果出現“Call requires API level 3 (current min is 1): 解決方法&#xff1a; 在工程上點擊右鍵 -> Android Tools -> Clear Lint Markers&#xff0c;即可。轉載于:https://www.cnblogs.com/qianyukun/p/5458331.html

Product文本格式說明

使用txt進行產品信息的說明。 Product文本格式說明 //**************************************************** //產品信息 //固定標識符全部大寫&#xff0c;全部在等號&#xff08;&#xff09;前面 //****************************************************** PRODUCTTest //…

PyOpenCL圖像處理:Box模糊

為什么80%的碼農都做不了架構師&#xff1f;>>> # -*- coding: utf-8 -*-from __future__ import absolute_import, print_function import numpy as np import pyopencl as cl import cv2 from PIL import Imagedef RoundUp(groupSize, globalSize): r globalSi…

【python bug修復】——Script file ‘D:\softwares_install\Anaconda3\envs\PartTimes\Scripts\pip-scrip

目錄 1、問題描述 2、問題解決 1&#xff09;下載pip安裝腳本 2&#xff09; 運行安裝pip腳本 3&#xff09; 下載庫 1、問題描述 利用pip命令進行庫的安裝時&#xff0c;突然出現這個問題&#xff0c;之前使用還好好的 Script file D:\softwares_install\Anaconda3\envs\P…

項目中的那些事---下載pdf文件

最近做了一個下載pdf文檔的需求&#xff0c;本以為使用HTML5中<a>標簽的屬性download就能簡單搞定&#xff0c;不料IE竟然不支持這一簡單粗暴的H5新特性&#xff0c;而是直接在網頁中打開&#xff0c; 于是各種搜索之后得出以下結論&#xff1a;IE中下載文檔時&#xff0…

MySQL日志分類及性能分析你應該知道的知識

為什么80%的碼農都做不了架構師&#xff1f;>>> MySQL日志記錄了MySQL數據庫日常操作和錯誤信息&#xff0c;MySQL總共有四種類型的日志&#xff0c;通過分析這些日志可以查詢到MySQL的運行情況、用戶操作、錯誤信息等&#xff0c;可以為MySQL的管理和優化提供必要…

利用三個點(trsf)來實現各種規則圖形的實現

在Val3,是使用trsf(x,y,z,rx,ry,rz)來實現三維空間點的位置與方向。 其中第一點和第二點位置很重要&#xff0c;第三點是用來確定方向。根據這三個點先確定一個用戶坐標系。 在這個坐標系中&#xff0c;實現圓&#xff0c;三角形&#xff0c;矩形&#xff0c;腰圓&#xff0c;正…

android基礎組件----Button的使用

按鈕由文本或圖標&#xff08;或文本和一個圖標&#xff09;組成&#xff0c;當用戶觸摸到它時&#xff0c;會發生一些動作。今天我們開始Button的學習。少年的愛情永遠不夠用&#xff0c;一杯酒足以了卻一件心事。 Button的簡要說明 根據你是否想要一個帶有文本的按鈕&#xf…

@Repository、@Service、@Controller 和 @Component

Repository 、Service 、 Controller 、Component 這四個Spring注解 ,用于把加了注解的 類 加入到Spring 容器中管理&#xff0c;節省了xml 的繁重的配置&#xff0c;盡管如此xml 同樣可以實現&#xff08;一般建議先搞懂xml&#xff09;。 Repository Repository注解便屬于最先…

【pyqt5學習】——QTextEdit控件學習:獲取文本、添加文本

目錄 1、QTextEdit控件介紹 2、QTextEdit控件添加文本、添加HTML格式 3、QTextEdit控件獲取文本、獲取HTML格式文本 4、案例 1&#xff09;完整代碼 2&#xff09;效果 1、QTextEdit控件介紹 QTextEdit控件是一個支持多行輸入的輸入框&#xff0c;支持HTML進行格式的設置 2…

空間變化

空間變化 第一種&#xff1a;圓 第二種: 矩形 第三種&#xff1a;正五邊形 第四種:正六邊形 第五種&#xff1a;腰圓 算法&#xff1a; 在規則圖形&#xff08;不包括圓心-直徑法&#xff09;中&#xff0c;等于或者超過三個點。一般的&#xff0c;利用p1,p2,p3來建立一個用戶…

【pyqt5學習】——QAbstractButton學習(普通按鈕QPushButton、工具按鈕QToolButton、單選按鈕QRadioButton、復選框按鈕QCheckBox)

目錄 1、按鈕介紹 2、普通按鈕QPushButton學習 1&#xff09;特殊模式——開關按鈕&#xff08;toggle&#xff09; ①將按鈕設置為可選擇的 ②將按鈕按下 判斷按鈕是否被按下 isChecked() 2&#xff09;給按鈕設置前置圖標setIcon() ?編輯 3&#xff09;按鈕信號 4)完…