我正在尝试制作具有多个元素的pyqt gui,但不确定如何格式化它。基本上,我想要页面顶部的三个下拉菜单按钮,并且当选择一个选项时,它将显示带有qtableview小部件的sqlite3数据库表。关于如何格式化下拉菜单的任何帮助? (或一般而言,是否有任何用于格式化pyqt的好的资源?)谢谢!
编辑:这是我尝试的内容:
self.com_btn = QComboBox('Com')
self.sec_btn = QComboBox('Sec')
self.sto_btn = QComboBox('Sto')
self.hbox = QHBoxLayout()
self.hbox.addStretch(1)
self.hbox.addWidget(self.com_btn)
self.hbox.addWidget(self.sec_btn)
self.hbox.addWidget(self.sto_btn)
self.setLayout(self.hbox)
编辑:图像
对于一个简单的单行代码,您可以这样设置样式:
self.com_btn.setStyleSheet('QComboBox {border: 1px solid gray;}')
或者您可以制作一个样式表文件,并通过主要功能将其添加到您的应用程序中:
if __name__ == '__main__':
app = QApplication(sys.argv)
css = open('path/to/my.css', 'r').read()
app.setStyleSheet(css)
mainWindow = Window()
mainWindow.show()
sys.exit(app.exec_())
您可以通过多种方式设置QComboBox的样式:
QComboBox {
border: 1px solid gray;
border-radius: 3px;
padding: 1px 18px 1px 3px;
min-width: 6em;
}
QComboBox:editable {
background: white;
}
QComboBox:!editable, QComboBox::drop-down:editable {
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
stop: 0 #E1E1E1, stop: 0.4 #DDDDDD,
stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3);
}
有关更多信息,您可以查看官方文档:https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox