• pyqt 那些‘坑’(二)


    from PyQt5.QtCore import *
    from PyQt5.QtWidgets import *
    from PyQt5.Qt import *
    import sys
    
    
    class CustomToolBar(QToolBar):
    
        def __init__(self, parent=None):
            super(CustomToolBar, self).__init__(parent)
    
    
    class Example(QMainWindow):
    
        def __init__(self, parent=None):
            super(Example, self).__init__(parent=parent)
            self._initUI()
    
        def _initUI(self):
            self.resize(500, 400)
            self.toolBar = CustomToolBar(self)
            self.toolBar.addAction(QIcon('./search.png'), 'item1')
            self.toolBar.addAction(QIcon('./search.png'), 'item2')
            self.toolBar.addAction(QIcon('./search.png'), 'item3')
            self.toolBar.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
            self.toolBar.setMovable(False)
            self.toolBar.setToolTip('hasdf')
    
            self.progressbar = QProgressBar(self)
            self.progressbar.setGeometry(0, 0, 500, 1)
         #本来想用margin来定位的,qss top, left, right, bottom 这些只能作用子控件,
         #用了margin 发现一些问题, margin可以隐式的改变控件的大小,并将其他控件覆盖,导致其他设置的样式不生效
         #比如hover 发现设置之后没有应该的样式,
         #还有一点就是 css的继承性 在qss 中也是不支持的,可以通过* 设置全部的子控件
    self.tab
    = QTableWidget(self) self.tab.setColumnCount(4) self.tab.setColumnWidth(0, 80) self.tab.setColumnWidth(1, 80) self.tab.setColumnWidth(2, 80) self.tab.setColumnWidth(3, 80) headers = ['header1', 'header2', 'header3', 'header4'] self.tab.setHorizontalHeaderLabels(headers) self.tab.setGeometry(100, 100, 340, 200) self.addToolBar(self.toolBar) self.tab.setShowGrid(False) verticalhead = self.tab.verticalHeader() #type: QHeaderView verticalhead.setEditTriggers(QAbstractItemView.NoEditTriggers) self.tab.verticalHeader().setVisible(False) self.tab.verticalHeader().setEditTriggers(QAbstractItemView.NoEditTriggers) self.tab.setCornerButtonEnabled(False) self.setStyleSheet(''' QTableWidget { background-color: transparent; border: 0; } QHeaderView::section { background-color: transparent; border: 1px solid rgb(64, 64, 64); } QTableWidget::item{ } ''') for i in range(10): self.tab.insertRow(i) self.tab.setItem(i, 0, QTableWidgetItem('sdfsd')) self.tab.setItem(i, 1, QTableWidgetItem('sdfsd')) self.tab.setItem(i, 2, QTableWidgetItem('sdfsd')) self.tab.setItem(i, 3, QTableWidgetItem('sdfsd')) self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
  • 相关阅读:
    linux定时备份数据库
    svn 没有绿色小勾
    oracle dblink ora-12541 无监听
    WPS 设置多级标题
    sql 提高速度方法
    领骑衫获奖感言与总结
    团队项目(任务五):项目回顾
    项目回顾
    团队项目(任务四):第二次冲刺
    团队项目(任务三):第一次冲刺
  • 原文地址:https://www.cnblogs.com/alplf123/p/8669720.html
Copyright © 2020-2023  润新知