pyqt5 笔记

子窗口不关闭 主窗口不可操作
self.setWindowModality(Qt.ApplicationModal)
窗口图标, 将图片读成字节,解决打包后不能显示图标
img_io = io.BytesIO(ico_bytes)
img = Image.open(img_io)
pix = img.toqpixmap()

self.setWindowIcon(QIcon(pix))  # 图标
QLineEdit设置不可编辑
self.line = QLineEdit(self)
self.line.setFocusPolicy(QtCore.Qt.NoFocus)
QLineEdit 焦点
self.line = QLineEdit(self)
self.line.installEventFilter(self)
# 可设置多个QLineEdit 
# 判断obj 做出相应的操作

def eventFilter(self, obj, event):
    if obj == self.line:
        if event.type() == QEvent.FocusIn:
            # 获取焦点
            pass
        elif event.type() == QEvent.FocusOut:
            # 失去焦点
            pass
        else:
            pass
        return False
    return False

QTableWidget 设置不可编辑
self.tablewidget= QTableWidget(self)
self.tablewidget.setGeoQTableWidget
self.tablewidget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)  # 设置不可编辑
self.tablewidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)  # 设置可自适应宽度
self.tablewidget.setColumnWidth(0, 120)  # 单列设置宽度 (列, 宽度)
QTableWidget 编辑右键菜单
self.tablewidget.setContextMenuPolicy(Qt.CustomContextMenu)  # 允许右键产生子菜单
self.tablewidget.customContextMenuRequested.connect(self.generateMenu)  # 右键菜单

def generateMenu(self, pos):
	# 编辑菜单和操作
    contents = self.tablewidget.selectedItems()[0].text()  # 获取选中文本内容
    
    menu = QMenu()
    item1 = menu.addAction(u"删除")
    item2 = menu.addAction(u"刷新")
    action = menu.exec_(self.value_list_browser.mapToGlobal(pos))
    if action == item1:
        pass
    
    if action == item2:
        pass
QComboBox 下拉框绑定事件
self.combobox = QComboBox(self)
self.combobox.addItems(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15'])
# 点击下拉列表,触发对应事件
self.combobox.currentIndexChanged.connect(lambda: self.WrittingNotOfOther(self.combobox.currentIndex()))

def WrittingNotOfOther(self, tag):
    # 操作
    print(tag)
    pass
pyqt 弹窗
# 主窗口
self.add_win = AddWin()  # 初始化 弹窗
self.add_win._signal.connect(self.win_sign)  # 链接信号 self.win_sign 设置信号绑定 

class AddWin(QDialog):
	# 弹窗
    _signal = pyqtSignal(str)  # 主窗口设置信号

    def __init__(self):
        super(AddWin, self).__init__()

    def initUI(self):
        self.window_info()  # 窗口信息
        self.setWindowModality(Qt.ApplicationModal)  # 设置弹窗不关闭不可操作主窗口
        self.show()
        
    def window_info(self):
        """
        窗口主体
        :return:
        """
        self.setFixedSize(350, 400)
        self.setWindowTitle('弹窗')

pyqt5:QTableWidget 设置不可编辑

setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)

链接输入下拉框

self.choice_box = QtWidgets.QComboBox(self)
self.choice_box.setGeometry(QtCore.QRect(670, 10, 120, 30))
self.choice_box.addItems(['1', '2', '3'])
self.choice_box.setFont(self.set_text_size(12, False))

# 下拉框信号信号
self.choice_box.currentIndexChanged[int].connect(self.print_value)  # 条目发生改变,发射信号,传递条目索引
self.choice_box.highlighted[int].connect(self.print_value)  # 在下拉列表中,鼠标移动到某个条目时发出信号,传递条目索引

学习笔记 如有错误 请见谅

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值