User interface PyQt:如何在表视图中集成Calendarwidget?
我有以下代码: 类DateDelegate(QtGui.QStyledItemDelegate): (……) 类主窗口(QMainWindow): (……) 问题是日历小部件仍然包含在单元格中,并带有要编辑的日期。 如何让日历小部件像一种模式对话框一样显示,例如在表视图的顶部而不是在表单元格中 提前感谢您的输入 太容易了: 在User interface PyQt:如何在表视图中集成Calendarwidget?,user-interface,date,pyqt,User Interface,Date,Pyqt,我有以下代码: 类DateDelegate(QtGui.QStyledItemDelegate): (……) 类主窗口(QMainWindow): (……) 问题是日历小部件仍然包含在单元格中,并带有要编辑的日期。 如何让日历小部件像一种模式对话框一样显示,例如在表视图的顶部而不是在表单元格中 提前感谢您的输入 太容易了: 在createEditor方法中,返回一个子类QDateEdit小部件,该小部件定义为: class TableCalendarWidget(QtGui.QDateEdit)
createEditor
方法中,返回一个子类QDateEdit
小部件,该小部件定义为:
class TableCalendarWidget(QtGui.QDateEdit):
def __init__(self, parent = None):
super(TableCalendarWidget, self).__init__(parent)
self.setCalendarPopup(True)
就这样 您不需要为此创建子类。使用
.setCalendarPopup(True)
返回一个常规的QDateEdit
实例就可以了。@Avaris:谢谢您的反馈createEditor:theWidget=QtGui.QDateEdit(父)theWidget.setCalendarPopup(True)返回widget
确实工作得很好!
def __init__(self, parent=None):
self.liste_Produits = QtGui.QTableView()
self.ProduitsModel = QtSql.QSqlTableModel(self)
self.liste_Produits.setModel(self.ProduitsModel)
self.liste_Produits.setItemDelegateForColumn(3,DateDelegate(self))
class TableCalendarWidget(QtGui.QDateEdit):
def __init__(self, parent = None):
super(TableCalendarWidget, self).__init__(parent)
self.setCalendarPopup(True)