def create_ui_raw(self): self.setMinimumWidth(260) self.setMinimumHeight(40) self.main_layout = QtGui.QHBoxLayout(self) self.main_layout.setContentsMargins(0, 0, 0, 0) self.main_layout.setSpacing(0) self.text_area = QtGui.QTextBrowser() self.text_area.setMinimumWidth(40) self.text_area.setOpenExternalLinks(True) self.text_area.setFrameShape(QtGui.QFrame.NoFrame) self.text_area.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff) self.text_area.setTextInteractionFlags( QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByKeyboard | QtCore.Qt.TextSelectableByMouse | QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.LinksAccessibleByKeyboard) self.user_icon_widget = Ui_userIconWidget(self.login) self.user_icon_layout = QtGui.QVBoxLayout() self.user_icon_layout.setContentsMargins(0, 0, 0, 0) self.user_icon_layout.setSpacing(0) spacerItem = QtGui.QSpacerItem(0, 0, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.user_icon_layout.addItem(spacerItem) self.user_icon_layout.addWidget(self.user_icon_widget) if self.message_type == 'in': self.main_layout.addLayout(self.user_icon_layout) self.main_layout.addWidget(self.text_area) spacerItem = QtGui.QSpacerItem(0, 0, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.main_layout.addItem(spacerItem) self.main_layout.setStretch(0, 0) self.main_layout.setStretch(1, 0) self.main_layout.setStretch(2, 1) if self.message_type == 'out': spacerItem = QtGui.QSpacerItem(0, 0, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.main_layout.addItem(spacerItem) self.main_layout.addWidget(self.text_area) self.main_layout.addLayout(self.user_icon_layout) self.main_layout.setStretch(0, 1) self.main_layout.setStretch(1, 0) self.main_layout.setStretch(2, 0) self.overlay_widget = QtGui.QWidget(self.text_area) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) self.overlay_widget.setSizePolicy(sizePolicy) self.overlay_layout = QtGui.QGridLayout(self.overlay_widget) self.overlay_layout.setSpacing(0) self.overlay_layout.setContentsMargins(0, 0, 0, 0) self.overlay_widget.setLayout(self.overlay_layout) self.user_label = QtGui.QLabel() self.user_label.setStyleSheet( 'QLabel {padding-left: 8px; font-size: 10pt; color: grey;}') self.overlay_layout.addWidget(self.user_label, 0, 0, 1, 1) corner = QtGui.QWidget() corner.setFixedSize(34, 34) self.overlay_layout.addWidget(corner, 0, 1, 1, 1) spacerItem = QtGui.QSpacerItem(0, 0, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.overlay_layout.addItem(spacerItem, 1, 0, 1, 2) self.date_label = QtGui.QLabel() self.date_label.enterEvent = self.date_label_enter_event self.date_label.leaveEvent = self.date_label_leave_event self.date_label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.date_label.setStyleSheet( 'QLabel {padding-right: 8px; padding-bottom: 8px; font-size: 10pt; color: grey;}' ) self.overlay_layout.addWidget(self.date_label, 2, 0, 1, 2) self.overlay_widget.raise_()
def create_ui_raw(self): self.setObjectName('messageWidget') self.setMinimumWidth(300) self.setMinimumHeight(40) self.main_layout = QtGui.QHBoxLayout(self) self.main_layout.setContentsMargins(0, 0, 0, 0) self.main_layout.setSpacing(0) self.message_layout = QtGui.QVBoxLayout() self.message_layout.setContentsMargins(0, 0, 0, 0) self.message_layout.setSpacing(0) self.attachments_layout = QtGui.QVBoxLayout() self.attachments_layout.setAlignment(QtCore.Qt.AlignLeft) self.attachments_layout.setContentsMargins(9, 0, 9, 10) self.attachments_layout.setSpacing(10) self.message_frame = QtGui.QFrame() self.message_frame.setLayout(self.message_layout) self.message_frame.setObjectName('message_frame') sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) self.message_frame.setSizePolicy(sizePolicy) self.text_area = QtGui.QTextBrowser() self.text_area.setMinimumWidth(300) self.text_area.setOpenExternalLinks(True) self.text_area.setFrameShape(QtGui.QFrame.NoFrame) self.text_area.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff) self.text_area.setTextInteractionFlags( QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByKeyboard | QtCore.Qt.TextSelectableByMouse | QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.LinksAccessibleByKeyboard) self.message_layout.addWidget(self.text_area) self.message_layout.addLayout(self.attachments_layout) self.user_icon_widget = Ui_userIconWidget(self.login) self.user_icon_layout = QtGui.QVBoxLayout() self.user_icon_layout.setContentsMargins(0, 0, 0, 0) self.user_icon_layout.setSpacing(0) spacerItem = QtGui.QSpacerItem(0, 0, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.user_icon_layout.addItem(spacerItem) self.user_icon_layout.addWidget(self.user_icon_widget) if self.message_type == 'in': self.main_layout.addLayout(self.user_icon_layout) self.main_layout.addWidget(self.message_frame) spacerItem = QtGui.QSpacerItem(0, 0, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.main_layout.addItem(spacerItem) self.main_layout.setStretch(0, 0) self.main_layout.setStretch(1, 0) self.main_layout.setStretch(2, 1) if self.message_type == 'out': spacerItem = QtGui.QSpacerItem(0, 0, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.main_layout.addItem(spacerItem) self.main_layout.addWidget(self.message_frame) self.main_layout.addLayout(self.user_icon_layout) self.main_layout.setStretch(0, 1) self.main_layout.setStretch(1, 0) self.main_layout.setStretch(2, 0) self.overlay_widget = QtGui.QWidget(self.message_frame) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) self.overlay_widget.setSizePolicy(sizePolicy) self.overlay_layout = QtGui.QGridLayout(self.overlay_widget) self.overlay_layout.setSpacing(0) self.overlay_layout.setContentsMargins(0, 0, 0, 0) self.overlay_widget.setLayout(self.overlay_layout) self.user_label = QtGui.QLabel() self.user_label.setStyleSheet( 'QLabel {padding-left: 8px; font-size: 10pt; color: grey;}') self.overlay_layout.addWidget(self.user_label, 0, 0, 1, 1) self.message_options_button = StyledToolButton(size='small') self.message_options_button.setParent(self.message_frame) self.message_options_button.setIcon( gf.get_icon('dots-vertical', icons_set='mdi', scale_factor=1.2)) self.overlay_layout.addWidget(self.message_options_button, 0, 1, 1, 1) spacerItem = QtGui.QSpacerItem(0, 0, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.overlay_layout.addItem(spacerItem, 1, 0, 1, 2) self.date_label = QtGui.QLabel() self.date_label.enterEvent = self.date_label_enter_event self.date_label.leaveEvent = self.date_label_leave_event self.date_label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.date_label.setStyleSheet( 'QLabel {padding-right: 8px; padding-bottom: 8px; font-size: 10pt; color: grey;}' ) self.overlay_layout.addWidget(self.date_label, 2, 0, 1, 2) self.overlay_widget.raise_()