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

資訊專欄INFORMATION COLUMN

PyQt5 調研(一)

Yi_Zhi_Yu / 398人閱讀

摘要:首先,定義自定義信號其中來自于信號會攜帶兩個字符串類型的數據。然后,在子窗口發射這個信號最終,在父窗口槽函數接受這個信號就是槽函數,用來接受信號

工具準備

編輯器: vscode OR Pycharm

vscode需要安裝PYQT Integration 以及 Python 插件, Pycharm需要配置External Tools
pycharm配置External Tools

配置Qtdesigner.exe

program選擇Qtdesigner.exe的路徑, Arguments: $FilePath$, work directory: $FileDir$

配置PyUI, 將UI文件轉換成Python文件

program: python, Arguments: -m PyQt5.uic.pyuic  $FileName$ -o $FileNameWithoutExtension$.py, work direactory: $FileDir$
布局繪制

沒有布局的控件不會隨著窗口的改變而改變,關于布局,看這個Qt布局博客

第一個控件: tableView
self.sm = QtGui.QStandardItemModel() // 標準數據模型

# 設置數據頭欄名稱
self.sm.setHorizontalHeaderItem(0, QtGui.QStandardItem("Name"))
self.sm.setHorizontalHeaderItem(1, QtGui.QStandardItem("NO."))

# 設置數據條目
self.sm.setItem(0, 0, QtGui.QStandardItem("張三"))
self.sm.setItem(0, 1, QtGui.QStandardItem("20120202"))

self.sm.setItem(1, 0, QtGui.QStandardItem("李四"))
self.sm.setItem(1, 1, QtGui.QStandardItem("20120203000000000000000"))

self.sm.setItem(2, 0, QtGui.QStandardItem("李四"))
self.sm.setItem(2, 1, QtGui.QStandardItem("20120203000000000000000"))

self.sm.setItem(3, 0, QtGui.QStandardItem("李四"))
self.sm.setItem(3, 1, QtGui.QStandardItem("20120203000000000000000"))

self.sm.setItem(4, 0, QtGui.QStandardItem("李四"))
self.sm.setItem(4, 1, QtGui.QStandardItem("20120203000000000000000"))

self.sm.setItem(5, 0, QtGui.QStandardItem("李四"))
self.sm.setItem(5, 1, QtGui.QStandardItem("20120203000000000000000"))

# 設置條目顏色和字體
self.sm.item(0, 0).setForeground(QtGui.QBrush(QtGui.QColor(255, 0, 0)))

self.sm.item(3, 1).setBackground(QtGui.QBrush(QtGui.QColor(255, 255, 0)))

# 按照編號排序
self.sm.sort(1, QtCore.Qt.DescendingOrder)

# 將數據模型綁定到QTableView
self.tableView.setModel(self.sm)

for c in range(self.tableView.horizontalHeader().count()):
    self.tableView.horizontalHeader().setSectionResizeMode(c) // 設置列寬自動填充·

關于動態新增行:對model進行操作就行,tableView會感應到數據變化

信號與槽

知道vue,react的事件機制會對pyqt的信號與槽機制的理解提供方便。

首先,定義自定義信號

insertSuccess = pyqtSignal(str, str)

其中pyqtSignal來自于from PyQt5.QtCore import pyqtSignal, insertSuccess信號會攜帶兩個字符串類型的數據。

然后,在子窗口發射這個信號

self.name = self.lineEdit.text()
self.no = self.lineEdit_2.text()
self.hide()
self.insertSuccess.emit(self.name, self.no)

最終,在父窗口槽函數接受這個信號

 myDia = childWindow(self)
 myDia.insertSuccess.connect(self.deal_insert)

self.deal_insert就是槽函數,用來接受信號

def deal_insert(self, name, no):
    print("name: ", name, "no: ", no)

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

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

相關文章

  • PyQt5 調研

    摘要:首先,定義自定義信號其中來自于信號會攜帶兩個字符串類型的數據。然后,在子窗口發射這個信號最終,在父窗口槽函數接受這個信號就是槽函數,用來接受信號 工具準備 編輯器: vscode OR Pycharm vscode需要安裝PYQT Integration 以及 Python 插件, Pycharm需要配置External Tools pycharm配置External Tools 配置...

    Jonathan Shieber 評論0 收藏0
  • PyQt5 簡介

    摘要:是由一系列模塊組成。超過個類,函數和方法。有兩種證書,和商業證書。包含了窗口系統事件處理圖像基本繪畫字體和文字類。包含了協議的類。提供了處理數據庫的工具。廢棄了和的調用方式,使用了新的信號和處理方式。不再支持被標記為廢棄的或不建議使用的。 本教程的目的是帶領你入門PyQt5。教程內所有代碼都在Linux上測試通過。PyQt4 教程是PyQt4的教程,PyQt4是一個Python(同時支...

    sevi_stuo 評論0 收藏0
  • 事件和信號——pyQT5

    摘要:事件目標是事件想作用的目標。處理事件方面有個機制。這個例子中,我們替換了事件處理器函數。代表了事件對象。程序展示信號發送實例能發送事件信號。我們創建了一個叫的信號,這個信號會在鼠標按下的時候觸發,事件與綁定。 事件和信號 事件 signals and slots 被其他人翻譯成信號和槽機制,(⊙o⊙)…我這里還是不翻譯好了。 所有的應用都是事件驅動的。事件大部分都是由用戶的行為產生的,...

    張春雷 評論0 收藏0
  • pyqt5——菜單和工具欄

    摘要:菜單和工具欄這個章節,我們會創建狀態欄菜單和工具欄。是菜單欄工具欄或者快捷鍵的動作的組合。程序預覽工具欄菜單欄包含了所有的命令,工具欄就是常用的命令的集合。把工具欄展示出來。 菜單和工具欄 這個章節,我們會創建狀態欄、菜單和工具欄。菜單是一組位于菜單欄的命令。工具欄是應用的一些常用工具按鈕。狀態欄顯示一些狀態信息,通常在應用的底部。 主窗口 QMainWindow提供了主窗口的功能,使...

    JinB 評論0 收藏0

發表評論

0條評論

Yi_Zhi_Yu

|高級講師

TA的文章

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