MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); w = new Setting; this->setMaximumSize(306,306); this->setMinimumSize(306,306); this->setWindowTitle("PowerSet"); /*以上为 主窗口的参数设定*/ tray = new QSystemTrayIcon; icon.addFile(":/new/prefix1/C:/Users/Fuerm/Desktop/electricity-32.png"); tray->setToolTip("PowerSet is working"); tray->setIcon(icon); tray->show(); /*以上为 托盘的设定*/ creatActions(); creatMenu(); /*以上为 托盘菜单的设定*/ connect(ui->CancleButton,SIGNAL(clicked()),this,SLOT(CancelSlot())); connect(ui->ChangeButton,SIGNAL(clicked()),this,SLOT(setPlan())); connect(w,SIGNAL(dlgRturn(bool)),this,SLOT(SetInfoSlot(bool))); /*以上为 主界面上两个按钮的槽函数关联*/ connect(tray,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(iconActivied(QSystemTrayIcon::ActivationReason))); }
IMDiscussionMemberButton::IMDiscussionMemberButton(const DiscussionMember &discussionMember, IMDiscussionChatWidget *discussionWidget, IMMainWidget *mainWidget, QWidget *parent) : QPushButton(parent) { m_info = discussionMember; m_discussionWidget = discussionWidget; m_mainWidget = mainWidget; m_mainCtrl = m_mainWidget->getMainCtrl(); m_isOpen = false; QHBoxLayout *layout = new QHBoxLayout; m_labelHead = new QLabel; m_labelHead->setFixedSize(HEAD_MINI_SIZE, HEAD_MINI_SIZE); m_labelMes = new QLabel; layout->addWidget(m_labelHead); layout->addWidget(m_labelMes); layout->addStretch(); layout->setContentsMargins(0,0,0,0); setLayout(layout); setMinimumHeight(25); m_menu = NULL; setButtonStatus(); creatMenu(); setStyleSheet("QPushButton{border: 0;}"); }
IMFlockListWidget::IMFlockListWidget(IMMainWidget *mainWidget, QWidget *parent) : QWidget(parent), m_layout(new QVBoxLayout), m_mainWidget(mainWidget) { if (NULL == m_mainWidget) return; QVBoxLayout *mainLayout=new QVBoxLayout(); mainLayout->setContentsMargins(0,0,0,0); mainLayout->setSpacing(0); m_contentsWidget = new QWidget; m_layout->setContentsMargins(0,0,0,0); m_layout->setSpacing(0); m_contentsWidget->setLayout(m_layout); m_contentsWidget->setStyleSheet("QWidget{border: 0;}"); m_flocksScrollArea = new QScrollArea(this); m_flocksScrollArea->setWidgetResizable(true); m_flocksScrollArea->setAlignment(Qt::AlignLeft); m_flocksScrollArea->setWidget(m_contentsWidget); mainLayout->addWidget(m_flocksScrollArea); setLayout(mainLayout); setStyleSheet("QWidget{border: 0;}"); //创建右键菜单 creatMenu(); // connect(this, SIGNAL(customContextMenuRequested()), // this, SLOT(showMenu())); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { console = new Console; console->setEnabled(false); settingdialog = new SettingDialog(); settingdialog->setWindowModality(Qt::ApplicationModal); //弹出子窗口时禁用主窗口 settingdialog->setWindowFlags(Qt::Dialog); //设置为子窗口 serial = new QSerialPort(); creatAboutMessageBox(); creatActions(); creatMenu(); creatToolBar(); creatStatusBar(); connect(console, SIGNAL(sendData(QByteArray)), this, SLOT(writeData(QByteArray))); connect(serial, SIGNAL(readyRead()), this, SLOT(getData())); this->setMinimumSize(800, 600); //设置窗口最小为800*600大小 this->setWindowTitle(tr("上海理工大学 飞思卡尔赛队串口调试工具 V1.0")); this->setWindowIcon(QIcon(":/image/icon.png")); this->setWindowIconText(tr("串口调试工具")); this->setCentralWidget(console); }
// 右键点击按键 void IMDiscussionMemberButton::onClickRightButton(/*const QPoint &*/) { if (m_menu == NULL) { //创建右键菜单 creatMenu(); } m_menu->exec(QCursor::pos()); }
/************************************************* Function Name: showMenu() Description: 显示右键菜单 *************************************************/ void IMFlockListWidget::showMenu() { if (m_menu == NULL) { //创建右键菜单 creatMenu(); } m_menu->exec(QCursor::pos()); }
/************************************************* Function Name: onClickRightButton() Description: 右键点击按键 *************************************************/ void IMToolItem::onClickRightButton() { if (m_menu == NULL) { //创建右键菜单 creatMenu(); } m_menu->exec(QCursor::pos()); }
// mark public:------------------------------------------------------ IMToolItem::IMToolItem(const QString &title, QWidget *parent) : QWidget(parent), m_layout(new QVBoxLayout) { m_isVisable = false; m_layout = new QVBoxLayout; m_label = new QLabel(title); // label->setStyleSheet("background-color: #1f2021;"); m_layout->addWidget(m_label); m_layout->setContentsMargins(0,0,0,0); m_layout->setSpacing(0); setLayout(m_layout); creatMenu(); }