Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface PyQt:如何在表视图中集成Calendarwidget?_User Interface_Date_Pyqt - Fatal编程技术网

User interface PyQt:如何在表视图中集成Calendarwidget?

User interface PyQt:如何在表视图中集成Calendarwidget?,user-interface,date,pyqt,User Interface,Date,Pyqt,我有以下代码: 类DateDelegate(QtGui.QStyledItemDelegate): (……) 类主窗口(QMainWindow): (……) 问题是日历小部件仍然包含在单元格中,并带有要编辑的日期。 如何让日历小部件像一种模式对话框一样显示,例如在表视图的顶部而不是在表单元格中 提前感谢您的输入 太容易了: 在createEditor方法中,返回一个子类QDateEdit小部件,该小部件定义为: class TableCalendarWidget(QtGui.QDateEdit)

我有以下代码:

类DateDelegate(QtGui.QStyledItemDelegate):

(……)

类主窗口(QMainWindow):

(……)

问题是日历小部件仍然包含在单元格中,并带有要编辑的日期。 如何让日历小部件像一种模式对话框一样显示,例如在表视图的顶部而不是在表单元格中

提前感谢您的输入

太容易了: 在
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)