qt代码积累

QT自适应电脑分辨率,在main函数中最前端设置如下代码

int main(int argc, char *argv[])
{
#if (QT_VERSION > QT_VERSION_CHECK(5,6,0))
    QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
    QApplication a(argc, argv);
    app app;
    return a.exec();
}

 基本控件布局设置

头文件定义对象

    QGridLayout *gridLayout;
    QGridLayout *tabserialLayout;
    QHBoxLayout *serialLayout;
    QGridLayout *tabwifiLayout;

源文件设置布局格式和参数

    gridLayout = new QGridLayout;
    gridLayout->addWidget(ui.tabWidget);
    gridLayout->setContentsMargins(0,0,0,0);
    ui.mainwidget->setLayout(gridLayout);

    /*************************************************************/
    tabserialLayout = new QGridLayout;
    tabserialLayout->addWidget(ui.groupBoxSerial,0,0);//网格布局中的位置设置
    tabserialLayout->addWidget(ui.groupBoxCtrl,1,0);
    tabserialLayout->addWidget(ui.groupBoxMsg,2,0);

    ui.groupBoxSerial->setFixedHeight(40);//设置布局时候固定高度
    tabserialLayout->setRowStretch(1,1);//剩余空间自动伸缩
    tabserialLayout->setRowStretch(2,1);

    tabserialLayout->setContentsMargins(0,0,0,0);
    ui.tabserial->setLayout(tabserialLayout);//将布局放在哪个控件中

    serialLayout = new QHBoxLayout;//水平布局
    serialLayout->addWidget(ui.label_serialname);
    serialLayout->addWidget(ui.comboBox_serialname);
    ui.label_serialname->setFixedWidth(50);
    ui.comboBox_serialname->setFixedWidth(200);

    serialLayout->addWidget(ui.label_bauderate);
    serialLayout->addWidget(ui.comboBox_bauderate);
    ui.label_bauderate->setFixedWidth(50);
    ui.comboBox_bauderate->setFixedWidth(70);

    serialLayout->addWidget(ui.label_databit);
    serialLayout->addWidget(ui.comboBox_databit);
    ui.label_databit->setFixedWidth(50);
    ui.comboBox_databit->setFixedWidth(70);

    serialLayout->addWidget(ui.label_stopbit);
    serialLayout->addWidget(ui.comboBox_stopbit);
    ui.label_stopbit->setFixedWidth(50);
    ui.comboBox_stopbit->setFixedWidth(70);

    serialLayout->addWidget(ui.label_paritybit);
    serialLayout->addWidget(ui.comboBox_paritybit);
    ui.label_paritybit->setFixedWidth(50);
    ui.comboBox_paritybit->setFixedWidth(70);

    serialLayout->addWidget(ui.OpenSerialPort);
    ui.OpenSerialPort->setFixedWidth(100);

    serialLayout->setContentsMargins(10,0,0,0);
    serialLayout->setAlignment(Qt::AlignLeft);

    ui.groupBoxSerial->setLayout(serialLayout);

ubuntu下使用qt6构建错误,根据提示安装插件

21:37:54: Starting /home/kangxubo/code/QT/build-fujia-Desktop_Qt_6_5_3_GCC_64bit-Debug/fujia...
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, vkkhrdisplay, minimal, offscreen, wayland, xcb, vnc, wayland-egl, linuxfb, minimalegl.

21:37:54: /home/kangxubo/code/QT/build-fujia-Desktop_Qt_6_5_3_GCC_64bit-Debug/fujia 崩溃。



sudo apt install libvulkan-dev
sudo apt install libxkbcommon-dev
sudo apt install build-essential libgl1-mesa-dev
sudo apt install libxcb*

 

posted @ 2023-11-10 19:35  梦想之每天进步一点点  阅读(58)  评论(0编辑  收藏  举报