نمایش نتایج 1 تا 4 از 4

نام تاپیک: خطا در tableWidget

  1. #1

    Exclamation خطا در tableWidget

    سلام من یه tableWidget در پنجره اصلی گذاشتم حالا اگه بخوام بدونم سلول خانه اول خالی است خطا میده ولی موقعی که متنی رو داخلش مینویسم خطا نمیده میشه دوستان یه راهنمایی بکنند
    اینم کد برنامه خود برنامه رو هم قرار دادم.
    #include "mainwindow.h"
    #include "ui_mainwindow.h"

    MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
    {
    ui->setupUi(this);
    ui->tableWidget->setColumnCount(3);
    ui->tableWidget->setRowCount(3);
    ui->tableWidget->resizeColumnsToContents();
    }

    MainWindow::~MainWindow()
    {
    delete ui;
    }

    void MainWindow::on_pushButton_clicked()
    {
    if(ui->tableWidget->item(0,0)->text().isEmpty())
    ui->label->setText("empty");
    else
    ui->label->setText("full");
    }

    فایل های ضمیمه فایل های ضمیمه

  2. #2

    نقل قول: خطا در tableWidget

    ببخشید دوستان خودم پیداش کردم مشکل در نحوه چک کردن بود

    قسمتی که باید تغیر میکرد:
    QTableWidgetItem*item=ui->tableWidget->item(0,0); if(!item||item->text().isEmpty()) ui->label->setText("empty"); else ui->label->setText("full");

  3. #3

    نقل قول: خطا در tableWidget

    برنامه نویسی در حجم کد زیاد نیاز به قراردادهای خوب داره وگرنه بعد از یه مدت هیچی از پروژه نمی شه سر در آورد. اینجوری چک کنی کدت خیلی کثیف می شه بهتره که این کدها رو ماکرو کنی مثلا:


    if ( CHECK_EMPTY_CELL(ui->tbl_sells,0,0) == true ) {....}


    به غیر از اون بهتره که از ! برای if ها استفاده نکنی چون بشدت خوانایی کد رو کاهش می ده. این روش خیلی بهتره:

    if ( item == nullptr || item->text->isEmpty() == false )


    همینطور تمام عناصر صفحه رو با نوع شون جدا کنی باعث میشه سریعتر پیدا بشن:


    ui->tbl_sells
    ui->lbl_check_empty


    شرکت های قوی نرم افزاری حتی به فاصله ها هم حساس هستند مثلا شرکت معروف id که تولید کننده بازی هست می گه تمام member باید توی یک ستون باشند:

    int m_iInt1;
    float m_fFloat1;

  4. #4

    نقل قول: خطا در tableWidget

    سلام باتشکر از شما همشهری عزیز در برنامه اصلی سعی شده از نکاتی شما به اون اشاره کردید استفاده بشه ولی بعضی از نکات واقعا جالب بودند

    خیلی ممنون

تاپیک های مشابه

  1. دريافت خطا در هنگام نصب کامپوننت
    نوشته شده توسط شیما.م در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 6
    آخرین پست: دوشنبه 09 خرداد 1384, 18:43 عصر
  2. کنترل خطا در دیتا بیس ها
    نوشته شده توسط DataMaster در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 4
    آخرین پست: یک شنبه 09 آذر 1382, 13:05 عصر
  3. خطا در IE
    نوشته شده توسط Majid2003 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: سه شنبه 29 مهر 1382, 15:49 عصر
  4. بروز خطا در هنگان دانلود فایلها
    نوشته شده توسط Harry در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 9
    آخرین پست: سه شنبه 08 مهر 1382, 23:08 عصر
  5. خطا در هنگام insert کردن اطلاعات در پارادکس
    نوشته شده توسط در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 5
    آخرین پست: یک شنبه 21 اردیبهشت 1382, 11:21 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •